【ハウツー】

カスタマイジングLunascape - スクリプトでタブウィンドウをコントロールする

4 タブ文字色を変更してみよう

    古籏一浩  [2009/04/06]

    タブの文字色を変更

    先ほどのスクリプトチェックでは調べたいページをアクティブにしなければならず、タブウィンドウが複数ある場合には不便です。そこで、少し改良して表示されているタブウィンドウ内のscriptの数を調べるようにします。また、ダイアログで結果を表示するのではなく、表示されているタブの文字の色を変更することで、一目で結果がわかるようにします。

    scriptタグの数を調べるところまでは、これまでの解説でわかると思います。問題はタブの文字の色を変更する方法です。Lunascapeでタブの文字色を変更するにはFontColor()メソッドにカラー値を設定します。このカラー値ですが、パラメータとして指定するのではない点に注意してください。以下のように代入形式で指定しなければいけません。

    Lunascape.FontColor(idDocument) = 0x0000ff;
    

    また、設定するカラー値ですがWebの背景色指定で多く見られるRRGGBBの赤、緑、青の順番ではなくBBGGRRという青、緑、赤の順番になっている点にも注意が必要です。赤色であれば0x0000ff、青色であれば0xff0000を指定しなければいけません。

    実際のスクリプトは003になります。いくつかページを開いてから実行させてみてください。タブの文字色が赤色になればscriptタグがページ内に埋め込まれています。そうでないページのタブは黒色になります。

    図9 チェックする前の状態

    図10 scriptタグの有無によってタブの文字色が変わる

    スクリプト003

    function OnClick(){
        // スクリプトが使われていればタブの文字色を赤にする
        for(var i=0; i<Lunascape.GetCount(); i++){
            var idDocument = Lunascape.GetDocumentID(i);
            var doc = Lunascape.GetDocumentObject(idDocument);
            var scriptTag = doc.getElementsByTagName("script");
            if (scriptTag.length > 0){
                Lunascape.FontColor(idDocument) = 0x0000ff;
            }else{
                Lunascape.FontColor(idDocument) = 0x000000;
            }
        }
    }
    

    最後にタブの文字色を黒色に戻すスクリプトも載せておきます。

    スクリプト004

    function OnClick(){
        // すべてのタブの文字色を黒にする
        for(var i=0; i<Lunascape.GetCount(); i++){
            var idDocument = Lunascape.GetDocumentID(i);
            Lunascape.FontColor(idDocument) = 0x000000;
        }
    }
    

    関連記事

    関連したタグ

    新着記事

    特設サイトの情報

      人気記事

      一覧

      新着記事

      特別企画

      マイナビニュースマガジン