Microsoft Edge错误,空href和基本标记

时间:2015-08-13 10:48:29

标签: html href dry microsoft-edge base-tag

微软的新浏览器Edge似乎不接受像<a href="">这样的空href。在所有其他浏览器中,这可用于链接到base标记。虽然在Edge中似乎并非如此。

我通过在此question中将href设置为./找到了解决此问题的方法。

但是在许多网站上不得不改变它是非常麻烦的。还有其他替代品不需要更改所有href自身吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

使用实用程序功能重写空的href。例如:

&#13;
&#13;
function rewrite_empty_hrefs()
  {
  var dom_parser = new DOMParser();

  var xml_serializer = new XMLSerializer();
  
  var old_html_dom = dom_parser.parseFromString(document.body.innerHTML,"text/html");

  var base_href = old_html_dom.querySelector("base").href;

  var old_xhtml_string = xml_serializer.serializeToString(old_html_dom);

  var new_xhtml_string = old_xhtml_string.replace(/(href=")(")/g, "$1"+base_href+"$2"); 

  document.body.innerHTML = new_xhtml_string;
  }

rewrite_empty_hrefs();
&#13;
<base href="http://www.example.com">
<a href="">example.com</a>
<a href="">example.org</a>
<a href="">example.net</a>
&#13;
&#13;
&#13;

<强>参考