我using an empty frameto handle pseudo-asynchronous form submission。对于那些不熟悉该技术的人,我们的想法是在表单的name
属性中引用框架的target
属性,以便表单的action
的URI在框架中解析并且用户体验不会中断。
要向用户反馈,我需要使用脚本来监听表单上的load
或error
事件,因为这有效地使整个UX脚本依赖,我只是注入框架并通过脚本添加表单的目标引用。
问题是框架会在注入页面后立即触发加载事件:default behaviour。
我可以使用jQuery的one
方法和e.stopImmediatePropagation()
(here)缓解此问题,或者我可以注入框架,然后绑定事件({ {3}})。但这两个选项都非常直观 - 代码当然需要评论以避免看起来像是一个错误。
TL; DR:有没有办法可以修改或限定iframe以阻止它在注射时触发错误的加载事件?
我尝试了什么
src
属性src
设置为about:blank
(上面隐含的内容)src
设置为#
src
设置为javascript:void 0
src
设置为空数据URI data:text/plain;base64,;
srcdoc
设置为空或接近空字符串答案 0 :(得分:0)
First put the iframe into the document, then register the listener:
var e = $('<iframe>');
e.appendTo('body');
e.on('load', function(){
alert('Loaded!')
});