タブの文字色を変更
先ほどのスクリプトチェックでは調べたいページをアクティブにしなければならず、タブウィンドウが複数ある場合には不便です。そこで、少し改良して表示されているタブウィンドウ内のscriptの数を調べるようにします。また、ダイアログで結果を表示するのではなく、表示されているタブの文字の色を変更することで、一目で結果がわかるようにします。
scriptタグの数を調べるところまでは、これまでの解説でわかると思います。問題はタブの文字の色を変更する方法です。Lunascapeでタブの文字色を変更するにはFontColor()メソッドにカラー値を設定します。このカラー値ですが、パラメータとして指定するのではない点に注意してください。以下のように代入形式で指定しなければいけません。
Lunascape.FontColor(idDocument) = 0x0000ff;
また、設定するカラー値ですがWebの背景色指定で多く見られるRRGGBBの赤、緑、青の順番ではなくBBGGRRという青、緑、赤の順番になっている点にも注意が必要です。赤色であれば0x0000ff、青色であれば0xff0000を指定しなければいけません。
実際のスクリプトは003になります。いくつかページを開いてから実行させてみてください。タブの文字色が赤色になれば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;
}
}