我有外部链接<a href="http://notmysite.com/">Link</a>
我需要添加:http://myurl.com?url=
之前 外部链接的 href。
制作
<a href="http://myurl.com/current/page?url=http://notmysite.com/">
我现在的js代码:
$.expr[':'].external = function(obj){
return !obj.href.match(/^mailto\:/)
&& (obj.hostname != location.hostname);
};
$('a:external').addClass('external').attr("href", window.location+("href"));
这是行不通的。我猜这是语法。
我是 jquery 的新手,所以更喜欢更脏/更直接的方法
干杯!
最佳答案
尝试以下方法,在将 URL 附加到网关 URL 之前注意对其进行转义
URL 匹配更多 URL,并且略微优化:
var externalLinkPattern = new RegExp("^http://" + window.location.host, "i"),
gateway = "http://myurl.com/current/page?url=";
$("a[href^='http:']").each(function() {
if ( !externalLinkPattern.test(this.href) ) {
this.href = gateway + escape(this.href);
$(this).addClass("external");
}
});
关于javascript - 如何使用 .attr ("href"之前的参数添加当前 url)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1954916/