我想更改我网站的所有链接。假设 .Example http://www.google.com/给出的链接更改为http://www.mysite.com/?redirect=http://www.google.com/
我有自己的重定向器,只是我需要通过 javascript 更改所有 url 的链接
我想更改我网站的所有链接。假设 .Example http://www.google.com/给出的链接更改为http://www.mysite.com/?redirect=http://www.google.com/
我有自己的重定向器,只是我需要通过 javascript 更改所有 url 的链接
var anchors = document.getElementsByTagName("a");
for (var i = 0; i < anchors.length; i++) {
anchors[i].href = "http://www.mysite.com/?redirect=" + anchors[i].href
}
然后,您可以通过将代码包装在链接到 window.onload 事件的函数中来使代码在页面加载时运行:
window.onload = function() {
/* onload code */
}
如果您在没有框架的情况下使用 javascript,则可以使用以下行:
var links, i, le;
links = document.getElementsByTagName('a');
for (i = 0, le = links.length; i < le; i++) {
links[i].href = "http://www.mysite.com/?redirect=" + encodeURIComponent(links[i].href);
}
只是另一个版本,对本地链接进行了一些检查,.forEach()
var links = [].slice.apply(document.getElementsByTagName("a"));
links.forEach(function(link) {
var href = link.href;
if (href.length && href.substring(0, 1) !== "#" && href.substring(0, 1) !== "/") {
link.href = "http://www.mysite.com/?redirect=" + encodeURIComponent(link.href);
console.log(link.href);
}
});
$('a').each(function(i, e)
{
var current = $(this);
current.attr('href', 'http://www.mysite.com/?redirect=' + encodeURIComponent(current.attr('href')))
});