url - scripts - script de usuario
¿Cómo eliminar parte de una URL usando Greasemonkey? (1)
Estoy tratando de hacer un script de Greasemonkey que me pase de esto:
http://redirector/referal_ID:site#link
a esto:
link
En otras palabras, necesito eliminar la primera parte de los enlaces en los que hago clic, pasando por alto las páginas del redirector http://redirector/referal_ID:site#
y solo guardo lo que está detrás del carácter # del enlace .
Tenga en cuenta que el redirector cambia con frecuencia, referal_id siempre es único y diferente, y el site#
es la única cadena constante en todos los enlaces.
Intenté modificar varias secuencias de comandos, pero mi conocimiento de javascript, junto con el conocimiento nulo, frustra todos mis intentos.
-------------------------------------------------- ------------------EDITAR------------------------------- ----------------------------------------
Un ejemplo de lo que necesito hacer es modificar esto:
http://firstfirst.net/identi_ref?q=Waterfox%2033.0.2%20[Mozilla%20Firefox%20de%2064%20bits]&ref=http://www.identi.li/c#https://shared.com/dhq1l9djj1?s=l
dentro de esto:
https://shared.com/dhq1l9djj1?s=l
El sitio donde quiero que funcione el script es http://www.identi.li/
La parte más difícil de esto es asegurarse de que el script no se active en páginas que no sean redirecciones. Para hacer eso, usa una expresión regular @include
.
Después de eso, solo se trata de extraer el sitio de destino y cambiar la location
. Aquí hay un guión completo:
// ==UserScript==
// @name _Skip redirects
// @include /site#http/
// @run-at document-start
// ==/UserScript==
var targetSite = location.href.replace (/^.+?site#(http.+)$/, "$1");
//--- Use assign() for debug or replace() to keep the browser history clean.
location.assign (targetSite);
//location.replace (targetSite);
Tenga en cuenta que el @run-at document-start
no es estrictamente necesario, pero puede reducir el tiempo de respuesta, de un script de redireccionamiento, en una cantidad justa.