Javascript 如何停止在注入时触发加载事件的空iframe?
我很高兴。对于那些不熟悉该技术的人,其想法是在表单的Javascript 如何停止在注入时触发加载事件的空iframe?,javascript,html,dom,javascript-events,Javascript,Html,Dom,Javascript Events,我很高兴。对于那些不熟悉该技术的人,其想法是在表单的target属性中引用框架的name属性,以便表单的操作的URI在框架中解析,并且用户体验不会中断 为了向用户反馈,我需要使用脚本来监听表单上的加载或错误事件,因为这有效地使整个UX脚本依赖,所以我只需注入帧并通过脚本添加表单的目标引用 问题在于,框架将在注入页面后立即触发加载事件: 我可以使用jQuery的one方法和e.stopImmediatePropagation()()缓解这种情况,或者我可以注入帧,然后绑定事件()。但这两个选项都是
target
属性中引用框架的name
属性,以便表单的操作的URI在框架中解析,并且用户体验不会中断
为了向用户反馈,我需要使用脚本来监听表单上的加载
或错误
事件,因为这有效地使整个UX脚本依赖,所以我只需注入帧并通过脚本添加表单的目标引用
问题在于,框架将在注入页面后立即触发加载事件:
我可以使用jQuery的one
方法和e.stopImmediatePropagation()
()缓解这种情况,或者我可以注入帧,然后绑定事件()。但这两个选项都是违反直觉的——代码当然需要注释,以避免看起来像一个错误
TL;DR:是否有任何方法可以修改或鉴定iframe,以首先阻止它在注入时触发错误的加载事件?
我试过的
无src
属性
src
设置为about:blank
(上面是隐式的)
src
设置为#
src
设置为javascript:void 0
src
设置为空数据URIdata:text/plain;base64代码>
srcdoc
设置为空或接近空字符串
var e=$('');
e、 附属于(“主体”);
e、 on('load',function(){
警报('已加载!')
});
这似乎只适用于Chrome。在Firefox和IE11上,页面加载时会弹出“已加载”警报。。。
var e = $('<iframe>');
e.appendTo('body');
e.on('load', function(){
alert('Loaded!')
});