2009-10-26 55 views
5

totalmente pública que no sé Javascript, estoy tratando de conseguir este Javascript:JavaScript bookmarklet y codificación URL

javascript:location = 'http://validator.w3.org/check?uri=' +escape(location)&doctype=Inline&charset=detect+automatically&ss=1&group=0&user-agent=W3C_Validator/1.654'; 

trabajar como un bookmarklet con el fin de enviar una URL de este formato:

http://validator.w3.org/check?uri=http://www.wordpress.org&charset=%28detect+automatically%29&doctype=Inline&ss=1&group=0&user-agent=W3C_Validator%2F1.654 

al W3C valdiator.

Soy una URL que codifica el Javascript con this encoder, pero por supuesto, estoy haciendo algo mal, ya sea en mi Javascript o en el proceso de codificación.

¿Alguien tiene algunas ideas en particular o en general sobre los marcadores de JavaScript y la codificación de URL? Gracias.

Respuesta

5

dos errores:

  1. que necesita para acceder al miembro "href" del objeto Localización:

    window.location. href = http://foo.com

  2. Tiene JavaScript válido:

    javascript: location = 'http://validator.w3.org/check?uri=' + escapar (ubicación) signo más y CITA falta aquí & tipo de documento = Inline & charset = detectar + automáticamente & ss = 1 & group = 0 & user-agent = W3C_Validator/1.654 ';

que recomiendan el uso de este:

javascript:(function(){window.location.href='http://validator.w3.org/check?uri='+escape(window.location.href)+'&doctype=Inline&charset=detect+automatically&ss=1&group=0&user-agent=W3C_Validator/1.654';})() 
+1

Gracias por la ayuda. Pensé que tenía al menos algunas cosas mal. Lo que terminé con ese trabajo es este: 'javascript: (function() {window.location.href = 'http: //validator.w3.org/check? Uri =' + escape (window.location) + '& doctype = En línea & ss = 1 & group = 0 & user-agent = W3C_Validator/1.654';})() ' Tuve que volver a la API en el W3C y averiguar qué estaba haciendo mal con el formato de la URL de solicitud en términos del conjunto de caracteres de la página que se va a verificar. – markratledge

+0

'window.location.href = http: // foo.com' no es necesario. 'location = http: // foo.com' funciona bien. –