【问题标题】:How to use Javascript's getElementById on another page如何在另一个页面上使用 Javascript 的 getElementById
【发布时间】:2013-06-28 14:25:25
【问题描述】:

在处理同一页面时,我可以很好地使用 document.getElementById(),但我无法弄清楚如何通过它的 ID 从不同的页面获取元素。到目前为止,我的猜测是使用 jQuery 的 $.get 函数,我也没有开始工作。

$(function() {
    $('#inputform').submit(function(e) {
        e.preventDefault();
        var rawnum = $('#inputform').serialize();
        var num = rawnum.split("=")[1];
        var url = "http://google.com/"; //this url is an example
        $.get(url, function(data, status) {
            $("html").html(data);
        });
    });
});

【问题讨论】:

  • SAME ORIGIN POLICY 了解一下。
  • 如果您设置了 CORS 以便可以访问该页面,那么您将使用 otherPageWindowRef.document.getElementById 来获取它,并且您可能必须使用 document.importNode 才能访问更多内容找到后的参考资料。

标签: javascript jquery forms get


【解决方案1】:

您的页面需要是开启者和另一个页面,更重要的是,这两个页面必须由同一个来源提供(请参阅same origin policy),否则另一个页面必须使用@987654322 提供@ 精确的访问是被授权的。

如您的示例所示,显然情况并非如此,因此您根本无法访问该元素。

【讨论】:

  • 我不确定我是否了解同源策略,过去我能够使用 Java 和 PHP 从其他页面检索数据,但我无法弄清楚如何使用 jQuery 和 Javascript 来做到这一点,这是我目前需要的。
  • @KeybordPiano459 同源策略是 JavaScript 中的一项安全功能,可防止您从不同源(读取域、协议等)检索数据,除非其他源明确提供此类检索的权限。
  • @PaulS。啊好吧,我不明白这专门适用于Javascript。
  • @KeybordPiano459 这是为了阻止恶意网站仅仅因为您点击他们的页面就能够通过您的浏览器访问您的所有银行详细信息、网络邮件、私人信息等,因为请记住,与其他平台不同,您使用你的浏览器来访问这些东西。
  • @PaulS。这甚至会阻止我执行诸如在 Javascript 中读取 RSS 提要之类的操作吗?
猜你喜欢
  • 1970-01-01
  • 2015-03-11
  • 2021-03-11
  • 1970-01-01
  • 2012-08-24
  • 1970-01-01
  • 2017-05-26
  • 1970-01-01
相关资源
最近更新 更多