我99.99%肯定无法做到这一点......
假设我的Flex w / Air 2.6桌面应用程序中有一个<mx:HTML />
元素,其src
设置为example.com
。此HTML元素包含src
为facebook.com
的单个iframe。
现在,facebook不喜欢被诬陷。基本上,它会检查它是否document.location == top.location
所以,我需要做的是在iframe中设置top = document;
(或window
,无论哪个)。哦,当用户导航到其他网页/域时,top
需要保持与iframe的document
相等。
作为奖励,我希望能够从Air应用程序中读取当前文档的位置。
如果能做到这一点,任何人都有想法吗?
答案 0 :(得分:2)
执行摘要:不可能。
你想在这里做什么会有安全隐患,这就是为什么不允许这样做的原因。正如您在对J_A_X的评论中所建议的那样,这是因为跨域问题以及那里涉及的安全问题。
如果您正在构建浏览器,我建议您构建浏览器在实际AIR应用程序本身中的显示方式,而不是嵌套的iframe。
AFAIK,完全在HTML / CSS / JS中成功构建浏览器的唯一方法是使用Web代理或屏幕抓取器,这将开启一个全新的蠕虫病毒。
答案 1 :(得分:0)
你想用iframe完成什么?你的方法对我来说似乎非常苛刻;无论哪种方式,这是一个javascript / html问题,而不是Air的问题。
如果你想获取iframe的当前位置,就像在html中调用当前显示在HTML组件中的Javascript函数一样简单:
htmlComponent.htmlLoader.window.someJSFunction();
我认为这应该能够给你一个字符串,但我不是100%。