如何在JavaScript / jQuery中判断链接是否为Javascript?
例如:
<a href="javascript:someFunction();">Trigger</a>
尝试确保脚本仅记录链接,而不记录javascript,锚点等。
基本上我需要捕获链接的href,因为我。通过它们(已经完成)我只需要一个可靠的方法来检查该变量以查看它是否是javascript,即函数w / e
var rand = function() {
return Math.random().toString(36).substr(2);
};
$(function(){
$('#lhcb a').each(function() {
var rawlink = $(this).attr("href");
var link = encodeURIComponent( rawlink );
var token = rand();
var href = $(this).prop('href');
var proceed = $.get( "lhc/link.php?link=" + link + "&a=c", function( data ) {
if ( data == 1 ) {
return true;
} else {
return false;
}
});
if ( href.match("^javascript:") ) {
proceed = false;
}
if ( rawlink.charAt(0) != '#' ) {
if ( proceed ) {
$(this).after( " <span style='font-size:xx-small;'>( Hits: <span id='" + token + "'></span> )</span>" );
$.get( "lhc/link.php?link=" + link + "&a=q", function( data ) {
$('#' + token).html(data);
});
$(this).attr( "href", "lhc/link.php?link=" + link + "&a=g" );
}
}
});
});
这就是我所拥有的,但如下所述,它将无法看到href是否只是没有JavaScript声明的函数。
答案 0 :(得分:0)
一个小脚本可以提供帮助。我写了一个样本:
var normalLinks = [];
$("a").each(function(i) {
var a = $(this);
var href = $.trim(a.attr("href"));
if(href.indexOf("javascript:") !== 0) normalLinks.push(href);
});
$("#result").text(normalLinks.join(","));
它遍历文档中的锚点,并推送每个不以javascript:开头的链接。也许这有帮助。