我想创建一个页面,我可以将来自不同域的其他页面加载到其中。加载的页面应该在它们自己工作时起作用。
原因是为他们添加了额外的功能。
我曾尝试使用JavaScript和iframe,但我受到同源策略的限制。现在我正在考虑Java Applets / JavaFX / Apache Pivot。我已经读过,通过数字签名,他们可以建立连接来加载页面。
我的页面还应该从加载的页面中获取一些信息(标题,图标等)。
我正确地看着这种方式吗?或者它仍然不可能做到?在其他情况下哪种技术是更好的选择?P.S。谢谢你的帮助
答案 0 :(得分:2)
您可以尝试使用将内容传递到您的域的代理,然后您可以随意操作页面(使用iframe或ajax)。
假设你创建一个名为proxy.php
的 php 代理:
<?php
if(isset($_GET['url']))
echo file_get_contents($_GET['url']);
?>
iframe的src不应该指向外部页面(<iframe src="somedomain.com/somepage" />
),而是指向您的代理,该代理会向您提供该页面的内容:<iframe src="proxy.php?url=somedomain.com/somepage" />
。
这将是一种简单的方法来管理您的任务,尽管您无法以这种方式复制其他网站......您仍然需要考虑Cookie,标头和其他与会话相关的变量。
答案 1 :(得分:0)
在服务器端以这种方式考虑,例如: php
和curl
从其他域下载该页面,然后使用jQuery
将其打入您的网页。这就像代理页面,但现在它们在您的服务器中,您可以避免授予跨域规则。