2009-10-19 26 views

答えて

9

どのような種類のデバッグが必要ですか? Alexと同様に、ユーザースクリプトはページ自体のデバッグと同じコンテキストで表示されます。開発者ツールの[スクリプト]タブに移動すると、デバッグする適切なjavascriptファイルを選択できるドロップダウンメニューが表示されます。このようなスクリプトには、chrome-extension://<hash>/<script file>.jsのようなURLが必要です。これらのスクリプトは、埋め込まれているページのコンソールにも記録されます。

さらに、すべてのページで同じ場所にログインしたい場合は、ユーザースクリプトをコンテンツスクリプトとして使用して、クロム拡張機能の完全な形でスクリプトを構築できます。その後、コンテンツスクリプトからバックグラウンドページにメッセージを送信し、そこにログオンすることができます。たとえば、この場合は、あなたのコンテンツスクリプトました:

function log(text) { 
    chrome.extension.sendRequest({'action' : 'log', 'text' : text}, function() {}); 
}; 
log("Content script loaded: " + window.location.href); 

そして、これはあなたの背景ページだった:

<!DOCTYPE html> 
<html> 
    <head> 
    </head> 
    <body> 
    <script> 
     function onRequest(request, sender, callback) { 
     if (request.action && request.action == 'log') { 
      console.log(request.text); 
     } 
     }; 

     chrome.extension.onRequest.addListener(onRequest); 
    </script> 
    </body> 
</html> 

あなたが背景ページのログにコンテンツスクリプトの各負荷を見るでしょう。

0

小さなスクリプトを使用して、実際にカスタムデバッグスクリプトをページに挿入することができます。その時点で、開発ツールの中に実際にページに含まれているのと同じアクセス権が与えられます。

+1

LOL ...それは本質的に私が自分のユーザスクリプトでやっていることであり、動作していません:) – d34dh0r53

3

ユーザiクロスブラウザGM APIの互換性のための私のスクリプトに次の関数:

function testGM() { 
var isGM = typeof GM_getValue != 'undefined' && typeof GM_getValue('a', 'b') != 'undefined'; 
if(typeof(unsafeWindow) == 'undefined') { unsafeWindow = window; } 
if(!isGM) { log = function(msg) { try { unsafeWindow.console.log(msg); } catch(e) {} }; } else { log = GM_log; } 
if(window.opera) log = opera.postError; 
setValue = isGM ? GM_setValue : function (name, value) { return localStorage.setItem(name, value) }; 
getValue = isGM ? GM_getValue : function(name, def){ var s = localStorage.getItem(name); return s == null ? def : s }; 
} 
testGM(); 

それは私のものではありません。それは礼儀sizzemctwizzle @ userscripts.org

私は現在のところlog、getValue & setValueを使用するので、その機能のこれらのツリーのみを使用します。
guideをチェックアウトすることもできます。
またはチェックアウト可能GIJoe'scross-browser GM Apiもあります。

+0

これは古いかもしれません。 'typeof GM_getValue( 'a'、 'b')!= 'undefined'はクロムのユーザースクリプトでfalseと評価されます –

関連する問題