在 javascript 中拦截链接请求

Intercept a link request in javascript

本文关键字:链接 请求 javascript      更新时间:2023-09-26

我有一个脚本来解析网络并更改我的网站的网址以进行匿名冲浪。因此,例如从源站点 www.externalsite.com 我替换属性,例如

href="images/logo.png"

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

一切都与href,src等属性或任何其他完整路径URL配合良好。困难的是拦截由神秘的海关JavaScript函数构造的url,例如:

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 发送到浏览器之前对其进行修改?

您还可以在链接单击呈现后通过覆盖其默认行为来拦截链接单击。

当您想在单击时更改链接时,请使用此方法

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;
   } );
}