我正在抓一个网站,如果有人点击一个链接,我试图重定向到另一个网站,所以我注入了一些javascript:
$('a').on('click', function() {
for (var ls = document.links, numLinks = ls.length, i=0; i<numLinks; i++){
ls[i].href= 'http://mywebsite.com/test.php?url=' + this;
}
});
它有效,但它仅适用于实际链接<a href..>
。有时单击一个元素将充当一些javascript的链接,我也想捕获该'事件'。它让我考虑XMLHttpRequest
如果我没有弄错,浏览器有一个名为XMLHttp
对象的内置对象,可以用来拦截ajax调用:
(function(open) {
XMLHttpRequest.prototype.open = function(method, url, async) {
//do something...
所以我的问题是:是否存在类似侦听和更改传出URL的类似内容?
答案 0 :(得分:1)
就这样我很清楚,只要有人点击某个链接,你想知道该网址是什么,改变它,然后将用户重定向到你自己的网址?
$('a').on('click', function(event){
event.preventDefault();
var url = $(this).attr('href');
});
preventDefault()
将阻止页面重定向。
此时,url
将是URL字符串,您可以随意执行任何操作。要重定向用户,请使用window.location.href
或window.location.replace
。