投稿者: zyunbarisan

  • SRocks株式検索拡張機能 – 機能説明 (完全版)

    概要

    SRocks株式検索拡張機能は、ウェブページ上のテキスト選択や拡張機能アイコンのクリックによって、関連する株式情報や指定したウェブサイトへのリンクをポップアップ表示するChrome拡張機能です。銘柄コードや企業名を素早く検索し、株価チャート、ニュース、決算情報、掲示板など、多数の情報源へワンクリックでアクセス可能にします。バックグラウンドで株式データの管理や設定の同期、タブグループの操作なども行い、情報収集の手間を大幅に削減し、効率的な情報収集や投資判断を強力にサポートします。

    主な機能

    • テキスト選択によるポップアップ表示: ウェブページ上のテキストを選択すると、自動でポップアップが表示されます。
    • 拡張機能アイコンからのポップアップ表示: ブラウザのツールバーにあるSRocksアイコンクリックでもポップアップを表示できます(テキスト選択なしの状態)。
    • 株式銘柄検索: 選択したテキストから銘柄コードや会社名を自動で判別し、ローカルに保存されたデータから検索します。
    • 豊富な株式情報リンク: 主要な株式情報サイトへのリンクが多数プリセットされています。
    • リンクの表示/非表示カスタマイズ: ポップアップに表示するリンクを自由に選択し、設定を同期できます。
    • リンク表示順序のカスタマイズ: ドラッグ&ドロップでリンクの表示順序を変更・保存でき、設定は同期されます。
    • カスタムリンク機能: 任意のウェブサイトへのリンクを追加・編集・削除でき、設定は同期されます。
    • タブグループでのリンク一括オープン: 設定した複数のリンクを、指定した名前と色のタブグループでまとめて開けます。
    • ポップアップ操作: ピン留めによる固定や、ドラッグでの移動が可能です。
    • 直接検索モード: 株式情報が見つからない場合に、選択テキストを直接検索するモードに切り替わります。
    • 株式データの自動取得と更新: 拡張機能インストール時にAPIから株式データを取得し、ローカルに保存します。手動でのデータ更新も可能です。
    • 設定の同期: リンク表示設定、カスタムリンク、リンク順序などの設定は、Chromeアカウントを通じて複数デバイス間で同期されます。

    機能詳細

    1. 簡単ポップアップ表示と操作 (Content Script & Background Script)

    • 表示トリガー:
      • テキスト選択時 (Content Script): ウェブページ上でマウスを使ってテキストを選択すると、マウスカーソルの近くにポップアップウィンドウが自動的に表示されます。
      • アイコンクリック時 (Background Script → Content Script): ブラウザのツールバーにあるSRocks拡張機能アイコンをクリックすると、現在アクティブなページにポップアップが表示されます(この場合、通常は検索入力欄が表示されるか、直接検索モードのリンクが表示されます)。
    • ポップアップの内容:
      • 株式銘柄が検索された場合:銘柄情報(コード、会社名)と、関連情報サイトへのリンク一覧が表示されます。
      • 株式銘柄が見つからない、またはアイコンから起動した場合:直接検索モードとなり、設定されたカスタムリンク(Google検索など)や検索入力欄が表示されます。
    • 移動 (Content Script): ポップアップ上部のタイトルバー部分をドラッグすることで、画面上の好きな位置に移動できます。
    • ピン留め(固定)(Content Script): ポップアップ右上の画鋲アイコンで画面上に固定/解除できます。固定中はページスクロールに追従しません。
    • 自動フォーカス (Content Script): デフォルトでは、テキスト選択時にポップアップ内の検索ボックスに自動でフォーカスが当たります(設定で変更可能)。

    2. スマートな株式検索 (Content Script & Background Script)

    • 自動判別 (Content Script): ユーザーが選択したテキスト(例: “7203”、”トヨタ自動車”)を解析し、銘柄コードか会社名かを判別しようとします。
    • 検索実行 (Content Script & Background Script):
      • Content Script は、判別した検索クエリを Background Script に問い合わせます (getStockData メッセージ)。
      • Background Script は、ローカルストレージ (chrome.storage.local) に保存されている株式データ (stockData – 銘柄コードと会社名のリスト) の中から該当する情報を検索して Content Script に返します。
    • 結果表示 (Content Script): 取得した銘柄コードと会社名をポップアップの上部に表示します。
    • 検索モード (searchModePreference) (Content Script): ユーザーは設定で検索の挙動を「自動判定」「株式検索のみ」「直接検索のみ」から選択できます。
    • 直接検索モード (direct) (Content Script): 株式情報が見つからない場合や、direct モード設定時、アイコンクリック時に動作します。「検索結果がない場合も表示する」が有効なカスタムリンクが表示され、選択テキスト ({name}) を使って検索できます。

    3. 豊富な情報リンクとカスタマイズ (Content Script & Background Script)

    • デフォルトリンク (linkDefinitions) (Content Script): 株探、バフェットコード、Yahoo!ファイナンスなど多数の主要サイトへのリンクが定義済みです。URL内の {code} は検索された銘柄コードに置換されます。
    • リンクの表示/非表示設定 (Content Script ↔ Background Script):
      • 設定ダイアログ (Content Script) でチェックボックスを操作すると、その設定情報 (linkSettings) が Background Script に送られ (saveLinkSettings メッセージ)、chrome.storage.sync に保存されます。
      • ポップアップ表示時、Content Script は Background Script に設定を問い合わせ (getLinkSettings メッセージ)、保存された設定に基づいてリンクを表示します。設定は同期されます。
    • リンクの並び替えと保存 (Content Script ↔ Background Script):
      • Content Script 上でドラッグ&ドロップで変更されたリンク順序 (globalLinkOrder) は、Background Script を経由して chrome.storage.sync に保存されます。
      • ポップアップ表示時に保存された順序が読み込まれ適用されます。この順序も同期されます。
    • カスタムリンク (Content Script ↔ Background Script):
      • Content Script の設定ダイアログで追加・編集・削除されたカスタムリンク情報 (customLinks) は、Background Script を経由して chrome.storage.sync に保存/更新されます。
      • URL内の {code}{name} プレースホルダー、showWhenNoResults オプションも利用可能です。カスタムリンク設定も同期されます。
    • グループリンク (Content Script → Background Script):
      • Content Script で「投資情報(一括で開く)」などのグループリンクがクリックされると、対象となるURLリストが Background Script に openUrlsInTabGroup メッセージとして送信されます。
      • Background Script は受け取ったURLリストを、指定された名前(例: “投資”)と色(例: “blue”)を持つ新しいタブグループ内で、各URLを個別のタブとして開きます。これにより、関連情報をまとめて効率的に確認できます。

    4. 株式データの管理 (Background Script)

    • 初期データ取得: 拡張機能が初めてインストールされた際、Background Script は指定されたAPI (apiUrl) から株式データ(銘柄コードと会社名のリスト)を取得し、ローカルストレージ (chrome.storage.local) に stockData として保存します。これは比較的大きなデータになる可能性があるため、同期されないローカルに保存されます。
    • データアクセス: Content Script が株式検索を行う際は、このローカルに保存された stockData を Background Script に問い合わせて利用します。
    • データの手動更新: 設定画面などから「データを再読み込み」(reloadData メッセージ) をトリガーすると、Background Script は再度APIから最新の株式データを取得し、ローカルの stockData を更新します。
    • テストデータ: 開発やテスト用に、API通信を行わず固定のテストデータを使用するオプション (useTestData) があります。

    5. 設定の保存と同期 (Background Script & Sync Storage)

    • 同期される設定 (chrome.storage.sync):
      • リンクの表示/非表示設定 (linkSettings)
      • カスタムリンクの情報 (customLinks)
      • リンクの表示順序 (globalLinkOrder)
      • APIのURL (apiUrl)
      • テストデータ使用フラグ (useTestData)
      • これらの設定は、同じGoogleアカウントでChromeにログインしている複数のデバイス間で自動的に同期されます。
    • 同期されないデータ (chrome.storage.local):
      • 株式データ本体 (stockData):データサイズが大きくなる可能性があるため、同期対象外とし、各デバイスのローカルに保存されます。

    設定 (Content Script & Background Script)

    ポップアップウィンドウ右上の歯車アイコンから設定ダイアログ (Content Script) を開けます。ここで行った設定変更は、Background Script を介して適切なストレージ (sync または local) に保存されます。

    • リンク表示設定: 各リンクの表示/非表示を切り替え。
    • カスタムリンク管理: カスタムリンクの追加・編集・削除。
    • データ再読み込み: Background Script に最新の株式データをAPIから取得するよう指示。
    • 検索モード設定: 検索の挙動を選択(※UIの存在はコードから直接確認できないが、機能として存在)。

    こんな方におすすめ

    • 日常的に株式投資や企業調査を行う方
    • ウェブサイトやニュース記事を閲覧中に、気になった企業や銘柄について素早く情報を確認したい方
    • 複数の株式情報サイトを効率的に巡回したい方
    • 自分専用の情報収集リンク集を手軽に使いたい方
    • 複数のデバイスで同じ設定を利用したい方

    SRocks株式検索拡張機能を使って、日々の情報収集をよりスムーズかつ効率的に行いましょう!