我创建了一个脚本,用于重写页面上的出站网址,不包括任何包含“http://www.mysite.com”的网址。这是脚本:
<script type="text/javascript">
onload = function () {
for (var i = 0; i < document.links.length; i++) {
if (document.links[i].href.indexOf("http://www.mysite.com") == -1) {
document.links[i].href = 'http://www.mysite.com/redirect.php?' + document.links[i].href
}
}
}
</script>
我希望能够做的是列出要排除的多个网址。这样做的最佳方式是什么?
我可以创建要排除的URL数组,然后确保脚本忽略该数组中包含的任何内容吗?
如果是这样,我将如何为此构建if语句?
提前致谢。
答案 0 :(得分:0)
以jQuery方式,您可以使用inArray
方法。
var excludeURLs = ["othersite.com", "anothersite.com"];
onload = function () {
for (var i = 0; i < document.links.length; i++) {
if (document.links[i].href.indexOf("http://www.mysite.com") == -1 &&
$.inArray(location.host.replace('www.', ''), excludeURLs) != -1 ) {
document.links[i].href = 'http://www.mysite.com/redirect.php?' + document.links[i].href;
}
}
}
为简单起见,我从主机中删除了www.
。
如果您不想使用jQuery,可以创建自己的函数,如this。