我一直在使用在“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">
我该怎么做?得到一些帮助会很棒