我在这里有点尴尬,因为我试图通过使用客户端的浏览器而不是服务器远程获取内容。但是我的规格让我看起来不可能,我花了一整天都没有成功。
而且,通过跨域策略,我似乎无法绕过它。我已经知道了,仍然尝试了一个简单的Ajax查询,但失败了。然后我虽然'为什么不使用iFrame',但同样的限制似乎也适用于他们。然后我读到了关于使用YQL(http://developer.yahoo.com/yql/)但我注意到我试图阻止YQL的用户代理的服务器使得无法使用这种技术。
所以,这就是我能想到或发现的全部内容。但是我无法相信它不可能实现这样的事情,甚至看起来都很难......
哦,我的Javascript知识非常基础,这也无济于事。
答案 0 :(得分:1)
这是存在同源政策的一个原因。您尝试让您的网页在不同的服务器上访问数据,而无需用户知道,并且没有"权限"从其他服务器这样做。
如果没有建立双向信任系统(即修改其他服务器),我相信这是不可能的。
即使有新的xhr和跨域支持,仍然需要双向信任才能使通信正常工作。
您可以考虑使用胖客户端方法,或尝试@selbie建议并要求手动用户交互。
答案 1 :(得分:0)
The same origin policy prevents document or script loaded from one
origin from getting or setting properties of a document from a different
origin.
- 来自http://www.mozilla.org/projects/security/components/same-origin.html
现在,如果你想做一些hackery得到它...... visit this site
注意:我从未尝试过上述网站上的任何方法,也无法保证其成功
答案 2 :(得分:-1)
我只能看到一个非常难看的解决方案:iFrames。 This article包含一些很好的信息。
答案 3 :(得分:-1)
您可以使用Flash应用程序执行此操作: flash with a crossdomain.xml file(因为你不控制其他服务器,所以没有帮助)
在新浏览器上有CORS - 需要在服务器端设置Access-Control-Allow-Origin标头。
您也可以尝试使用JSONP(但我认为这不起作用,因为您没有其他服务器)。
我认为你需要咬紧牙关并找到其他方式来获取内容(例如在服务器端)。