2009-10-19 15 views

Respuesta

9

¿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.

0

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.

+1

LOL ... eso es esencialmente lo que estoy haciendo con mi script de usuario y no funciona :) – d34dh0r53

3

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.

+0

esto puede estar desactualizado. 'typeof GM_getValue ('a', 'b')! = 'undefined'' se evalúa como falso en mi userscript en cromo –

Cuestiones relacionadas