javascript - 在 mx :HTML's iframe (and read it's value cross-domain) 中设置 `top.location === location`

标签 javascript flash apache-flex dom air

我 99.99% 确定这不可能完成...

假设我有一个 <mx:HTML />我的带有 Air 2.6 桌面应用程序的 Flex 元素及其 src设置为 example.com .此 HTML 元素包含单个 iframe whos srcfacebook.com .

现在,facebook 不喜欢被陷害。本质上,它会检查它的 document.location == top.location 是否存在。

所以,我需要做的是设置top = document; (或 window ,无论它是什么)在 iframe 中。哦,还有top需要保持等于 iframe 的 document当用户导航到另一个页面/域时。

作为奖励,我希望能够从 Air 应用程序中读取当前文档的位置。

有人知道这是否可以做到吗?

最佳答案

执行摘要:不可能。

您要在此处执行的操作存在安全隐患,这就是不允许这样做的原因。正如您在对 J_A_X 的评论中所建议的那样,这是因为跨域问题和其中涉及的安全性。

如果您正在构建浏览器,我建议您构建浏览器在实际 AIR 应用程序本身中的外观方式,而不是在嵌套的 iframe 中。

据我所知,完全用 HTML/CSS/JS 成功构建浏览器的唯一方法是使用 Web 代理或屏幕抓取工具,这会打开一个全新的蠕虫病毒库。

关于javascript - 在 mx :HTML's iframe (and read it's value cross-domain) 中设置 `top.location === location`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5409596/

相关文章:

javascript - 发出传递函数返回以扩展对象的问题

flash - 我可以在AS3中更改声音的播放速度吗?

javascript - 在html页面中调用externalinterface js

apache-flex - 弱引用和强引用

javascript - 使用 jQuery addClass 更改背景图像

javascript - 错误消息 ".innerHTML is not a function"

iphone - 随着音乐节拍闪烁的手电筒

apache-flex - flex 似乎没有与自定义 ActionScript 对象绑定(bind)

apache-flex - Flex AIR Sqlite 作为嵌入式数据库

在 JupyterLab 中禁用 JavaScript 输出