¿Cuál es la mejor manera de depurar scripts de usuario personalizados (también conocidos como Greasemonkey) en Chrome? ¿Hay alguna forma de habilitar el seguimiento de secuencias de comandos de usuario en las herramientas de desarrollo?Depuración de secuencias de comandos del usuario en Google Chrome
Respuesta
¿Qué tipo de depuración quieres? Como dijo Alex, los guiones de los usuarios se enumerarán en el mismo contexto que la depuración de la página. Si va a la pestaña "scripts" en las herramientas de desarrollador, verá una barra con un menú desplegable que le permitirá seleccionar el archivo JavaScript que desea depurar. Tales scripts deben tener direcciones URL que se parecen al chrome-extension://<hash>/<script file>.js
. Esos scripts también se registrarán en la consola de la página en la que están integrados.
Además, si desea iniciar sesión en el mismo lugar para todas las páginas, puede intentar crear su secuencia de comandos como una extensión completa de cromo, utilizando la secuencia de comandos del usuario como una secuencia de comandos de contenido. Luego puede enviar un mensaje desde su script de contenido a su página de fondo e iniciar sesión allí. Por ejemplo, si este fuera el script contenido:
function log(text) {
chrome.extension.sendRequest({'action' : 'log', 'text' : text}, function() {});
};
log("Content script loaded: " + window.location.href);
Y esto fuera el fondo de la página:
<!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>
Se podría ver cada carga del script contenido en el registro de la página de fondo.
Puede usar un script más pequeño para inyectar realmente su script de depuración personalizado en la página. En ese punto, tendrá el mismo acceso dentro de las herramientas de desarrollo como si realmente estuviera incluido en la página.
i usuario la siguiente función en mis guiones para varios navegadores GM compatibilidad 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();
que no es mío. es cortesía sizzemctwizzle @ userscripts.org
solo uso log, getValue & setValue a partir de ahora, por lo tanto, solo estos árboles en esa función.
También puede consultar su guide.
O también puede realizar la compra GIJoe'scross-browser GM Api.
esto puede estar desactualizado. 'typeof GM_getValue ('a', 'b')! = 'undefined'' se evalúa como falso en mi userscript en cromo –
- 1. Google Chrome Javascript Depurador y secuencias de comandos de contenido
- 2. Depuración de secuencias de comandos de UIAutomation en Instruments
- 3. Depuración de CSS en Google Chrome
- 4. Seguimiento de secuencias de comandos de contenido con Google Analytics
- 5. $ * en secuencias de comandos bash
- 6. Google Chrome para Android depuración web remota
- 7. Herramientas del desarrollador del navegador Chrome: las secuencias de comandos aparecen varias veces
- 8. Cross-origen XHR de una secuencia de comandos de usuario en Google Chrome
- 9. Agente de usuario extraño con Google Chrome
- 10. Prevención de secuencias de comandos del lado del servidor, XSS
- 11. Depuración de JavaScript línea por línea usando Google Chrome
- 12. ALINEAR en las secuencias de comandos del enlazador
- 13. Acceso a las variables del usuario desde la consola de Google Chrome
- 14. seguimiento de los progresos/depuración de secuencias de comandos en paralelo R
- 15. variables en las secuencias de comandos TOAD
- 16. En la extensión de Chrome, las secuencias de comandos de contenido no pueden afectar dentro del iframe.
- 17. Creación de secuencias de comandos del shell SQLite
- 18. Detección de extensiones del navegador Google Chrome
- 19. Extensión de Chrome: secuencias de comandos de contenido acumulando varias veces desde vínculos AJAX/navegación
- 20. Complemento de secuencias de comandos Javascript/plugins?
- 21. Cómo cierro la depuración de secuencias de comandos de Visual Studio 2008
- 22. Inspección de javascript en jsfiddle.net en Google Chrome
- 23. Cómo importar archivos de secuencias de comandos python en carpetas en Google App Engine?
- 24. Mejor práctica: Secuencias de comandos cruzadas legítimas
- 25. Ejecutar secuencias de comandos R desde VBA
- 26. C# lenguaje de secuencias de comandos
- 27. jQuery evento de depuración en Chrome
- 28. ¿Es posible dividir las secuencias de comandos de usuario de Greasemonkey en varios archivos?
- 29. Cómo obtener el nombre de usuario de Windows usando javascript en google chrome browser para google chrome extension
- 30. Secuencias de comandos eliminadas con jQuery .load
LOL ... eso es esencialmente lo que estoy haciendo con mi script de usuario y no funciona :) – d34dh0r53