我正在使用一个空框架来处理伪异步表单提交。对于那些不熟悉该技术的人来说,这个想法是name
在表单的属性中引用框架的属性,以便表单的target
URIaction
在框架中解析,并且不会中断用户体验。
为了向用户反馈,我需要使用脚本来监听表单上的load
orerror
事件,因为这有效地使整个 UX 脚本依赖,我只注入框架并通过脚本添加表单的目标引用。
问题是框架一旦被注入页面就会触发加载事件:默认行为。
我可以使用 jQuery 的one
方法和e.stopImmediatePropagation()
(这里)来缓解这种情况,或者我可以注入框架然后绑定事件(这里)。但是这两个选项都非常违反直觉——代码当然需要注释以避免看起来像一个错误。
TL;DR:有什么方法可以修改或限定 iframe 以阻止它在注入时触发错误的加载事件?
我试过的
- 无
src
属性 src
设置为about:blank
(上面是隐含的)src
调成#
src
调成javascript:void 0
src
设置为空数据 URIdata:text/plain;base64,;
srcdoc
设置为空或接近空的字符串