微软的新浏览器 Edge 似乎不接受像<a href="">
. 在所有其他浏览器中,这可用于链接到base
标签。尽管在 Edge 中似乎并非如此。
./
我通过将 href 设置为in this question找到了解决此问题的方法。
但是不得不在许多网站上改变它是相当麻烦的。还有其他不需要更改所有href本身的替代方法吗?
提前致谢。
使用实用程序函数重写空的 href。例如:
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();
<base href="http://www.example.com">
<a href="">example.com</a>
<a href="">example.org</a>
<a href="">example.net</a>
参考