[英]Check if link contains javascript
在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声明的函数。
一个小的脚本可以提供帮助。 我写了一个样本:
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:开头的链接。 也许这会有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.