【问题标题】:Convert GET Request (HTML string) to a full DOM object将 GET 请求(HTML 字符串)转换为完整的 DOM 对象
【发布时间】:2012-09-07 11:52:59
【问题描述】:

我正在编写一个 JavaScript 脚本,它会定期检查页面中的新元素,即 DOM 树更新。这些特定元素之一包含指向其他页面的超链接。我的目标是执行该页面的 GET 并将结果转换为 DOM 对象,以触发该页面中特定元素的特定事件。我可以通过var newPage = window.open(hyperlink); 执行此操作,然后通过newPage.document.getElementById('elementId'); 访问页面中的元素。但是,该脚本会遍历许多超链接,并且将它们全部打开并不高效。

那么,有没有什么方法可以有效地操作整个页面的对象,即不打开它(例如,$.get(hyperlink, function(page) { // convert page to DOM });)?

感谢任何答案, 谢谢。

【问题讨论】:

    标签: javascript jquery dom


    【解决方案1】:

    也许您采取了错误的方法。与其将页面转换为 DOM,不如简单地对链接进行正则表达式搜索。这显然是利用页面内容的最有效方式。然而,诚然,正确地做也是一件痛苦的事,而且它没有考虑到由 javascript 添加的链接。

    这完全取决于您的范围。如果您告诉我您正在寻找一种有效的方法来完成此任务,那么我会提供此解决方案。否则,无论您以哪种方式切片,都没有将整个页面解析为 DOM 的“快速”方式。

    This will get you started on a regular expression for extracting html links.

    【讨论】:

    • 怎么回事?正则表达式搜索链接将如何帮助我触发新请求页面中特定元素的事件?
    • 然后它比我最初想象的要复杂。你想加载一个页面,找到它的链接,并加载这些链接的页面,以便你可以触发它的事件?正则表达式仍然可以帮助您,但只能检索链接并加载它们。您需要在其中触发事件的页面必须加载到其自己的 iframe 中。使用 css 技巧使其从页面中消失(不使用 display: none 因为这将完全删除它)。这是你问的吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-27
    • 2011-03-07
    相关资源
    最近更新 更多