Flex应用程序(在IFrame中)如何从主页面调用JS方法
How can Flex application (with-in an IFrame) invoke a JS method from the main page?
我的主页加载一个iframe,其中包含一个Flex应用程序(占据屏幕的一部分)。
flex应用程序有一个"取消"按钮,可以使用主页中的JavaScript方法("goBack()")将主页导航到不同的位置。
我尝试使用这个Flex-AS代码来执行"取消"按钮,但没有成功(它尝试使用父对象调用JS函数):
public function cancel(){
flash.external.ExternalInterface.call("parent.goBack()");
}
这是JavaScript代码
function goBack(){
window.top.location='some_URL';
}
感谢你的想法
更新:
我发现在尝试调用JS方法时出现了以下错误:
"Blocked a frame with origin https://SITEA from accessing a cross-origin frame."
根据从iframe调用父窗口函数,您正处于调用主页goBack()
函数的正确轨道上。
尝试在加载iframe的页面中添加一个javascript函数:
function iframeGoBack() {
window.parent.goBack();
}
然后从ExternalInterface
调用
或者,如果您知道所需的URL,则可以在Flex代码中切换为使用navigateToURL()
。
根据我所看到的,在不同的源(例如,来自不同域/端口的iframe)之间调用JS方法时有很多限制。
我通过使用IFrame Flex应用程序调用主页"history->back"方法绕过了这个问题:
flash.external.ExternalInterface.call("window.history.back()");
这很好。
我还注意到有一个特殊的库,用于不同来源之间的通信,称为easyxdm
http://easyxdm.net/wp/
我没有使用它,但它得到了很多社区的支持。
相关文章:
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- D3在一个调用中绘制不同的SVG形状,没有可见性
- 如何从Java/scala调用js美化程序
- 如何调用这个匿名 JavaScript 函数
- 如何从模块链中调用函数.导出到节点中
- 我需要从php调用javascript或jquery
- Chrome开发工具(如何知道我在调用哪个javascript对象)
- 单击按钮后如何逐个调用分区,上一个分区将隐藏
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- Twitter Bootstrap typeahead:使用“this”获取上下文/调用元素
- 使用ng repeat和ng model调用splice()时,角度重定向到主页
- Flex应用程序(在IFrame中)如何从主页面调用JS方法
- 从主页面调用javascript函数
- 在knockoutjs中调用主页面的组件
- 仅为主页调用函数,然后为任何其他页面停止该函数,然后再次为主页调用该函数
- 我如何调用javascript函数在主页's内容页
- 如何用api调用来构建React App的所有登录、注册和主页
- 如何使用JQuery将包含在主页面的另一个页面在iFrame中调用
- 如何在ASP中从外部JavaScript调用Telerik radalert.网站主页
- Twitter JSON调用仅适用于主页