如何使用javascript在子窗口中获取非html内容

时间:2012-04-13 17:22:16

标签: javascript childwindow

我想使用javascript在子窗口中打开一个文本文件,然后将内容读取到父窗口。如何实现呢?

下面的代码,如果data.xml不是HTML页面,如何通过javascript将内容传递到父窗口?

function op() {
    win = window.open("http://xxx.bb.com/data.xml", "win", "width=200,height=200")
}

1 个答案:

答案 0 :(得分:0)

您已经尝试XmlHttpRequest并且违反了跨域限制。如果两个页面都在同一个域中,则网页(及其中包含的代码)只能操纵另一个网页的数据或元素。您将使用两个窗口遇到相同的跨域限制。

正确的方法是使用XmlHttpRequest,但请确保该请求的目标位于您的域中。这可能涉及在您的服务器上创建代理脚本,该脚本可以提供来自其他域的页面或数据。您的页面请求您的脚本获取外部数据;脚本获取数据并提供服务。由于您域中的脚本,数据似乎来自您的域,并且不受跨域限制。

Simple PHP proxy script

如果您尝试获取的数据不是您的,您应该获得许可来处理它或重新发布它。 Are web developers allowed to scrape html content?(接受的答案不是最佳答案)