我已经通过使用简单的技巧解决了这个问题。它可能有用。
我已经根据链接动态删除了目标属性。即,如果链接未定义或为空或 javascript:void(0),那么我们将使用以下代码删除目标属性。
如果链接是正确的,我们将为该超链接添加目标属性(“第二个 if 条件”会这样做,因为在我的页面中链接是动态的)。
我已经复制了示例 html 文件(Test.html)。如果我们要删除页面的 onload 属性,请复制此文件中的脚本代码并将其粘贴到所需文件的末尾。
如果我们想将其应用于动态链接,我们必须将此代码放在一个函数中,并在需要时调用它。
此代码将适用于该页面中的所有超链接。我们可以通过使用类或任何其他属性将其限制为特定的链接集。
Test.html
---------
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<a href="javascript:void(0);" target="_blank">Link1</a>
<a href="javascript:void(0);" target="_blank">Link2</a>
<a href="www.url1.com" target="_blank">Link3</a>
<a href="www.url2.com" target="_blank">Link4</a>
<script>
$("a").each(function() {
if(typeof(this.href) == 'undefined' || this.href == 'javascript:void(0);') {
$(this).attr('href', 'javascript:void(0);');
$(this).removeAttr('target');
}
if(typeof(this.href) != 'undefined' && this.href != 'javascript:void(0);') {
var s_link = this.href;
if (s_link.indexOf('http://') === -1 && s_link.indexOf('https://') === -1) {
s_link = 'https://' + s_link;
}
$(this).attr('href', s_link);
$(this).attr('target', '_blank');
}
});
</script>