解析HTML文档时设置原点

时间:2015-07-22 16:40:28

标签: javascript html hyperlink html-parsing

我的JavaScript应用程序通过XHR检索网页,然后像这样解析:

        var el = document.createElement( 'html' );
        el.innerHTML = xml;

        var links = el.getElementsByTagName( 'a' );

在此过程中,链接'href标记会被重新解释为相对于文档,因此我会获得http://localhost:8000/download.zip之类的链接。

我试图围攻它:

if (link.origin === document.origin) {
    link.href = link.href.replace(link.origin, h.url.replace(/\/$/, ''));
}

但这无法区分foo.org/bar(foo.org/bar/download.zip)和foo.org/bar.php(foo.org/download.zip),我真的不想走下兔子洞,准确地确定要进行哪些替换。

我尝试在文档中注入<base href=...><xml:base=xxx>,但这不起作用。

我错过了什么?这似乎是一个普遍的需求?

我没有使用任何jQuery或任何类似的东西(也不能。)

0 个答案:

没有答案