Jaki jest najlepszy sposób debugowania niestandardowych skryptów użytkownika (zwanych również Greasemonkey) w przeglądarce Chrome? Czy istnieje sposób na włączenie śledzenia skryptów użytkownika w Narzędziach programisty?Debugowanie skryptów użytkownika w przeglądarce Google Chrome
Odpowiedz
Jakiego rodzaju debugowania chcesz? Tak jak powiedział Alex, skrypty użytkownika będą wyświetlane w tym samym kontekście, co debugowanie samej strony. Jeśli przejdziesz do zakładki "skrypty" w narzędziach programistycznych, zobaczysz pasek z rozwijanym menu, które pozwoli Ci wybrać odpowiedni plik javascript, który chcesz debugować. Takie skrypty powinny mieć adresy URL wyglądające jak chrome-extension://<hash>/<script file>.js
. Te skrypty będą również logować się do konsoli strony, na której są osadzone. Ponadto, jeśli chcesz zalogować się w tym samym miejscu dla wszystkich stron, spróbuj zbudować swój skrypt jako pełne rozszerzenie chrome, używając skryptu użytkownika jako skryptu zawartości. Następnie możesz wysłać wiadomość ze swojego skryptu treści na stronę w tle i zalogować się tam. Na przykład, gdyby to było skrypt treści:
function log(text) {
chrome.extension.sendRequest({'action' : 'log', 'text' : text}, function() {});
};
log("Content script loaded: " + window.location.href);
I to były strona tła:
<!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>
można zobaczyć każdy ładunek skryptu zawartość w dzienniku tła strony za.
Możesz użyć mniejszego skryptu, aby wstrzyknąć niestandardowy skrypt debugowania na stronę. W tym momencie będziesz mieć taki sam dostęp do narzędzi programistycznych, jak gdyby był on faktycznie zawarty na stronie.
i użytkownik następujących funkcji w moich skryptów dla cross-browser GM kompatybilności 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();
to nie jest moja. to dzięki uprzejmości sizzemctwizzle @ userscripts.org
Używam tylko log, getValue & setValue od teraz, stąd tylko te drzewa w tej funkcji.
Możesz również sprawdzić jego guide.
Możesz też wypożyczyć GIJoe'scross-browser GM Api.
To może być nieaktualne. 'typeof GM_getValue ('a', 'b')! = 'undefined'' ma wartość false w moim usercriptu na chrome –
- 1. Debugowanie skryptów w przeglądarce Firefox
- 2. Debugowanie WebSocket w Google Chrome
- 3. Używanie pamięci i debugowanie w przeglądarce Chrome w przeglądarce Chrome/Firefox (Minefield)
- 4. RTSP h.264 w przeglądarce Google Chrome
- 5. Usuń fokus wejściowy w przeglądarce Google Chrome
- 6. Wyłącz buforowanie JavaScript w przeglądarce Google Chrome
- 7. Przesyłanie formularzy przy użyciu skryptów javascript działa w przeglądarce Google Chrome tylko raz.
- 8. Problem z migotaniem Map Google w przeglądarce Google Chrome
- 9. Post mortem debugowanie skryptów wielowątkowych
- 10. React debugowanie w przeglądarce przy użyciu bundle.js
- 11. Śledzenie skryptów treści za pomocą Google Analytics
- 12. Debugowanie pracowników sieci Web w przeglądarce Safari Web Inspector
- 13. Debugowanie skryptów JavaScript w Chromium Embedded Framework
- 14. debugowanie background.js w rozszerzeniu chrome
- 15. Jak odwołać się do typu DOMWindow w przeglądarce Google Chrome?
- 16. Rozwiązywanie problemów z uzgadnianiem SSL/TLS w przeglądarce Google Chrome
- 17. Czy można otworzyć niestandardowy schemat URL w przeglądarce Google Chrome?
- 18. Czas ładowania strony w przeglądarce Google Chrome lub Mozilla Firefox
- 19. Pamięć podręczna nie jest wyczyszczona w przeglądarce Google Chrome
- 20. pozycja: poprawiona nie działa w przeglądarce Google Chrome
- 21. Jak otworzyć okno z paskiem narzędzi w przeglądarce Google Chrome?
- 22. jQuery .trigger() lub $ (okno) nie działa w przeglądarce Google Chrome
- 23. Jak mogę zablokować automatyczne odświeżanie strony w przeglądarce Google Chrome?
- 24. Jak używać dzielenia wyrazów w przeglądarce Google Chrome?
- 25. Przycisk wydruku Report Viewer w przeglądarce Google Chrome
- 26. Jak wyświetlić favicony Retina (32x32) w przeglądarce Google Chrome?
- 27. Zdarzenie onrame iframe Jquery nie działa w przeglądarce Google Chrome
- 28. Debugowanie Ember.js z chrome
- 29. Czcionka internetowa w przeglądarce Chrome
- 30. elipsa dla tekstu wielowierszowego w przeglądarce Chrome
LOL ... to jest zasadniczo to, co robię ze skryptem użytkownika i to nie działa :) – d34dh0r53