我有一个来自不同域的远程页面的URL,我必须下载,解析和更新当前页面的DOM。我已经找到使用新ActiveXObject(“Msxml2.XMLHTTP”)执行此操作的示例,但我认为这仅限于IE,并使用 new java.net.URL ,但我不想使用Java。还有其他选择吗?
答案 0 :(得分:3)
相同的域名政策将帮助您。
1)通过您的服务器代理。 browser->您的服务器 - >他们的服务器 - >您的服务器 - >浏览器。
2)使用闪光灯或银光。第三方必须为您提供访问权限。 javascript和flash之间的桥梁不适合大量数据,并且存在错误。 Silverlight并不像flash那样无处不在......
3)使用标签。这真的不安全......只有在第三方内容有效的javascript时才有效。
答案 1 :(得分:2)
关于通过AJAX加载PHP脚本的问题是file_get_contents()
?这适用于不同的域。如果我理解正确的话。
答案 2 :(得分:1)
编写将为您检索页面内容的服务器端脚本是可行的方法。您可以使用XMLHttpRequest对象对该脚本进行AJAX调用,该脚本将为您提供所有html(?)。
不过,我建议不要这样做。我不确切地知道如何你信任其他网站,但原因存在相同的原始政策。你究竟想做什么?通常,有一种解决方法。
答案 3 :(得分:0)
我不认为你可以根据同一原产地政策的限制来做到这一点。两个域之间使用Iframe进行通信,我们也可以使用JS代码,但两个域都需要在其中进行通信代码。子框架可以联系祖父母框架(窗口)但不在此处。
因为你指的是其他一些网址都是togeather。
唯一的方法是使用服务器端代码访问其他域上的内容。
答案 4 :(得分:-1)
只需使用PHP:
<?php
$url = "http://www.domaintoretrieve.com";
ob_start();
include_once( $url );
$html = ob_get_contents();
ob_end_clean();
?>
$ html包含要根据需要进行操作的整个页面。
答案 5 :(得分:-2)
XMLHTTPRequest对象在大多数现代浏览器中都很常见,并且是AJAX Web应用程序的推动力。