我一直在使用一个脚本,它在“onmouseevent”触发器上加上redirect.php的前缀。但我不希望它在某些网站上,如谷歌等。请参阅下面的代码:
var matchavailable = 0;
var disallowinks = "google,microsoft,yahoo";
$n("a").mousedown(function () {
var linkArray = disallowlinks.split(',');
for (var i = 0; i < linkArray.length; i++) {
if ($n(this).attr('href').indexOf(linkArray[i]) > 0) {
matchavailable = 1;
break;
}
else {
matchavailable = 0;
}
}
if (matchavailable == 0) {
if ($n(this).hasClass('linked')) {
}
else
{
$n(this).attr('href', "http://yoursite.com/redirect.php?q=" + encodeURIComponent($n(this).attr('href')));
$n(this).attr('target', '_blank');
$n(this).addClass("linked");
}
}
});
到目前为止,javascript运行在所有锚标签上都很好。就是这样,我有一个弹出窗口,我在我的网站上显示,当我尝试关闭弹出窗口(X标记该点)时,redirect.php也会在其上加上前缀。
所以我的问题是,我们如何禁止脚本不在锚标签上运行,其值以“javascript”开头?
例如,我不希望它继续运行:
<a href="javascript:void"> or <a href="any random parameter">
我该如何解决这个问题?我很乐意得到一些帮助