JavaScript bookmarklet ir a la URL y ejecutar

Tengo un javascript como este, usé ia bookmarklet:

window.location="URL" document.getElementById('username-id').value = 'User' document.getElementById('pwd-id').value = 'pass' doLogin(); 

El problema es que javascript se detiene tan pronto como llega a la URL. ¿Cómo hacer que vaya a una página y ejecutar un script?

Cualquier ayuda sería muy apreciada.

Lamentablemente, su bookmarklet no funcionará. Cambio de la carga de los resultados de la window.location de la nueva página: no puede ejecutar ningún Javascript en esa página sin tener el documento presente primero.

La acción deseada se puede lograr mediante extensiones del browser, por ejemplo, el script Greasemonkey, que ejecuta Javascript especificado en la página al cargar la página.

No recomiendo las extensiones del browser: permiten que el código que no es de confianza se ejecute en el context del código de confianza. Si tiene una extensión de browser que carga una página y automáticamente ingresa su identificación de usuario y contraseña, ¿qué impide que se publiquen esas cnetworkingenciales en un sitio malicioso? Solo usted, y solo si ha leído cuidadosamente el código fuente.

Para resolver el problema anterior, agregué bookmarklets a la barra de favoritos en mi browser que requiere dos clics: 1. Haga clic para navegar a la location 2. Haga clic para completar el formulario

 javascript: var L='http://mysite.com/'; if(location!=L)location=L; else{ document.getElementById('username-id').value='User'; document.getElementById('pwd-id').value = 'pass'; document.close(); doLogin(); } 

¡Buena suerte!

Intente envolver su código con el evento window.onload .

 window.location = "URL"; window.onload = function() { document.getElementById('username-id').value = 'User' document.getElementById('pwd-id').value = 'pass' doLogin(); } 

Como la solución anterior no funciona, todavía debe poder escribir una extensión de browser simple para resolver su problema. Es fácil: elija el browser que usa y siga la documentation. Esta es la única manera de hacer eso.

Si controlas la página que estás cargando, consideraría pasar esos datos como el fragment y manejarlos desde la página. Algo así como window.location="URL#username=...;password=..." , que analizar los datos del fragment en la página y hacer lo que necesite con él. Sin embargo, en este caso específico no es una buena idea, ya que la contraseña se saveá en el historial de navigation.