首页 > 解决方案 > 如何获取 HTML 和 CSS 中的所有链接

问题描述

我在用户提供的 iframe 中有一个 HTML 页面。我想在这个 HTML 页面中的任何地方都有一个引用的所有 url 的列表。这包括 CSS 文件和样式属性中的链接。

例如,在此代码上运行它:

<div>
    <style>
        ul {
            background: url("exampleImage.png") #00D no-repeat fixed;
        }
    </style>
    <ul style="list-style: square url(http://www.example.com/redball.png);">
        <li><a href="http://www.example.com/foobar">test</a></li>
    </ul>
</div>

应该返回这些网址:

exampleImage.png
http://www.example.com/redball.png
http://www.example.com/foobar

标签: htmlcssparsingurl

解决方案


听起来像是一个正则表达式的好机会:

var re = /(https?:.*?)[\)"]/g
var s = document.body.innerHTML // here goes your html element
var m

do {
    m = re.exec(s);
    if (m) {
        console.log(m[1], m[2]);
    }
} while (m);

感谢草坪海


推荐阅读