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
    设置为空数据URI
    data: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!')
    });