在Chrome中調試自定義用戶腳本(又名Greasemonkey)的最佳方式是什麼?有沒有辦法在Developer Tools中啓用用戶腳本跟蹤?Google Chrome中的用戶腳本調試
回答
你想要什麼類型的調試?像Alex說的那樣,用戶腳本將與調試頁面本身在相同的上下文中列出。如果您轉到開發人員工具中的「腳本」選項卡,則會看到一個帶有下拉列表的欄,它將允許您選擇想要調試的相應JavaScript文件。這樣的腳本應該有看起來像chrome-extension://<hash>/<script file>.js
的網址。這些腳本也將登錄到他們所嵌入的頁面的控制檯。
此外,如果您想要登錄所有頁面的相同位置,則可以使用用戶腳本作爲內容腳本,將腳本構建爲完整的擴展名。然後,您可以將內容腳本中的消息發送到您的背景頁面並在那裏登錄。例如,如果這是你的內容的腳本:
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>
你會看到在後臺頁面的日誌內容腳本的每個負載。
您可以使用較小的腳本實際將自定義調試腳本插入到頁面中。此時,您將在開發人員工具中擁有相同的訪問權限,就好像它實際上包含在頁面中一樣。
我用戶在我的腳本跨瀏覽器通用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
我只使用日誌,getValue & setValue截至目前,因此只在這個函數的樹。
你也可以看看他的guide。
或者您也可以結賬GIJoe'scross-browser GM Api。
這可能是過時的。 'typeof GM_getValue('a','b')!='undefined''在我的用戶腳本中的chrome中評估爲false –
- 1. 如何調試Google Chrome後臺腳本?
- 2. Google Chrome中的用戶腳本目錄
- 3. 在Chrome中調試用戶腳本的方法
- 4. Chrome用戶腳本
- 5. 在Google Chrome中調試CSS
- 6. Internet Explorer和Google Chrome是否有任何腳本調試工具?
- 7. @match chrome-extension的用戶腳本://
- 8. Chrome中的用戶腳本錯誤
- 9. Google chrome Javascript調試器
- 10. 腳本編輯器中的Google Apps腳本調試模式不可用
- 11. 在Chrome中調試動態腳本文件
- 12. Chrome網絡應用和Google Apps腳本
- 13. 使用Google Chrome調試網站
- 14. 使用Google Chrome遠程調試協議
- 15. Javascript使用Google Chrome逐行調試
- 16. Google Chrome中是否有CSS調試器?
- 17. 在chrome開發工具中調試本地nodejs腳本
- 18. Google Chrome用戶腳本無法正常工作
- 19. 爲什麼Google Chrome的腳本調試器不讓我設置斷點?
- 20. 如何從另一個Google腳本調用已發佈的Google腳本?腳本在不同的帳戶
- 21. 如何在Chrome中調試RequreJS檢索的腳本
- 22. 調試腳本
- 23. Google文檔ImportXML從腳本中調用
- 24. 從Google SpreadSheet腳本中調用jQuery
- 25. 谷歌Chrome瀏覽器的Javascript調試器和內容腳本
- 26. 使用getScript加載的調試腳本
- 27. 有沒有辦法讓google chrome腳本調試器破解異常?
- 28. 調試Google Apps腳本Web應用程序的有效方法
- 29. 使用Chrome開發人員工具調試資源腳本
- 30. 如何在Chrome開發人員控制檯中調試腳本?
LOL ...這基本上是我用我的用戶腳本,它不工作:) – d34dh0r53