【问题标题】:How can I include a div from another page?如何包含来自另一个页面的 div?
【发布时间】:2010-01-30 01:47:39
【问题描述】:

基本上,我正在尝试从工作中的几个 Intranet 站点中抓取一些 div。并将它们包含在我在本地运行的页面上(这样我就可以查看一个页面而不是打开 5 个页面)。我猜这对于 JavaScript 是可能的,但我对 JavaScript 很原始,所以我不确定我需要搜索什么来找到答案。从这些其他页面中抓取 Div 后,我想添加一个刷新计时器,例如 setInterval()

【问题讨论】:

    标签: javascript html


    【解决方案1】:

    感谢光荣的jQuery 库,这项任务并不像应有的那么困难......

    $(document).ready(function() {
      // Repeat this for each of your URLs
      $.get("URL", function(data) {
        var resp = $(data); // Now you can do whatever you want with it
        $("#ID_OF_DIV", resp).appendTo("body");
      });
      // End Repeat
    
      setTimeout(function() {
        location.reload(true);
      }, 10000); // Refresh every ten seconds
    });
    

    【讨论】:

    • setTimeout 似乎导致整个页面每 10 秒重新加载一次,不知道为什么,但感谢 jQuery 建议我正在尝试这个。如果我有足够的代表,我会投赞成票
    • 导致整个页面重新加载是刷新内容的原因。如果您想以不同的方式执行此操作,可以将此代码移动到不同的函数并使用setInterval。如果你这样做了,不要忘记在添加新元素之前清空 body。
    • 我刚刚尝试过,但在让它工作时遇到了一些麻烦。我用我的测试页替换了“URL”,用“#Test”替换了“#ID_OF_DIV”,这是测试页上 div 的 id=,但什么也没有出现。但是,如果我从第 5 行中删除“#ID_OF_DIV”,整个页面将按预期显示。
    • 我不知道为什么,但是一旦我将测试 div 嵌套在另一个 div 中,它就开始工作了。
    【解决方案2】:

    您可以使用XMLHttpRequest 对象访问这些外部页面,获取它的 HTML 源代码并删除您想要的信息。

    这个链接可能有用:Auto refresh <DIV> using ajax

    【讨论】:

    • 谢谢,我也要试试这个,看看我更喜欢哪个。我的直觉告诉我要避免只为这一项任务包含 jQuery,但我可能最终会在其他事情上需要它,所以我也会尝试这个建议
    猜你喜欢
    • 2016-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多