我有一个奇怪的错误而且我很难过。
在我的网页上我有
<a href="www.purple.com">Purple</a>
但点击时表现为
<a href="http://mydomain.com/www.purple.com">Purple</a>
但是,当我查看源代码时它应该是这样。使用markdown语法在聊天应用程序中动态添加链接。因此,将http://添加到所有内容并不是一个简单的解决方案。还有其他方法可以解决这个问题吗?
修改
我已经能够使用javascript replace()在每个链接的开头添加http://来解决它,但我仍然想知道是否有更简单,更优雅的解决方案。
msg = msg.replace(/href="/ig, 'href="http://').replace(/http:\/\/http:\/\//ig, 'http://')
答案 0 :(得分:2)
如果您没有为您的外部链接添加http://
,它们将被视为来自您网域的链接 - 相对于调用文档所在的路径或基本href中指定的路径。< / p>
答案 1 :(得分:0)
假设您无法编辑或解决降价语法(即......显然首先生成字符串),您可以使用jQuery为修复程序添加创可贴。再次,这不是真的首选...
$("a[href*='http://mydomain.com/www']").each(function(i, el){
//this will iterate through all links with an href
//value that contains the above string 'http://mydomain.com/www'
var old_url = $(el).attr('href');
var new_url = old_url.split('http://mydomain.com/')[1]; //split up the url, and correct the mistake
$(el).attr('href', new_url);//re-apply the href attribute to the element
});