2016-02-09 119 views
0

我有一个脚本解析网页并将网址更改为我的网站以进行匿名浏览。 因此,例如,从源网站www.externalsite.com我替换属性像拦截javascript中的链接请求

href="images/logo.png"

href="http://www.myanonymsite.com/getpage=www.externalsite.com/images/logo.png" 

一切顺利带href SRC等..属性或任何其他完整路径网址。 什么是硬就是拦截那些古怪的海关构造URL的javascript功能,如:

var u = "images"; 
var i = document.createElement("img"); 
var ir = Xd(i, u, "logo.png"); 
Xd = function(i, u , a) { 
    i.src = "/" + u + "/" + a; 
    return i; 
}; 

这是不可能到URL,就建造之前转换,但有没有办法拦截这个请求事件在发送到浏览器之前修改url?

+0

您可以使用jQuery的链接这种方法吗? – gurvinder372

+0

@ gurvinder372是的,我可以 – RoBo

+0

实际上你想要什么?加密的网址? –

回答

0

您也可以通过覆盖其默认行为来拦截链接点击后的点击。

使用,当你想改变上点击

function alterLinks() 
{ 
    $(document).on("click", "a", function(e){ 

     e.preventDefault(); 

     var href = $(this).attr("href"); 
     //put the logic to update the href 

     //finally relocate to that URL as you would have intended to 

     location.href = href; 

    }); 

} 
+0

如果这个url是一个可点击的href,那就没事了,但问题在于它是一个“src”属性,就像图片,脚本或样式,所以它被浏览器自动加载,没有任何我知道的事件。 – RoBo

+0

@ user284164为什么不正确创建URL而不是稍后修改它们? – gurvinder372

+0

因为我不知道它是一个src网址,直到它由神秘功能创建。假设我们有一个没有attr“src”的图像,并且该脚本将以非常规方式为该图像创建一个src url,就像在Xd伪脚本函数中一样。 – RoBo