all*_*ode 12 javascript firefox prototypejs
假设我有位于页面www.example.com/foo,它包含一个<iframe>带src="http://www.example.com/bar".我希望能够发起一个事件/bar并让它被听到/foo.使用Prototype库,我尝试了以下操作但没有成功:
Element.fire(父,'ns:frob');
当我这样做时,在Firefox 3.5中,我收到以下错误:
节点不能用于创建它的文档以外的文档"代码:"4行0
不确定这是否与我的问题有关.是否有一些安全机制阻止脚本启动/bar事件/foo?
Jus*_*son 12
如果父窗口iframe是来自同一域的页面,则可以通过定义父窗口的函数来处理事件(请参阅MDC关于同源策略的文章); 但是,事件不会从iframe父页面冒出来(至少在我的测试中没有).
我还没有测试过这个跨浏览器,但它可以在FF中运行.
在iFrame中,您可以触发元素parent.document:
Event.observe(window, 'load', function() {
parent.document.fire('custom:event');
});
Run Code Online (Sandbox Code Playgroud)
在父框架中,您可以通过以下方式捕获它:
document.observe('custom:event', function(event) { alert('gotcha'); });
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18078 次 |
| 最近记录: |