We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
描述bug 当主应用需要拦截原生的createElement时,自然会将createElement的this指向主应用的document。 然而,目前在wujie的proxyDocument中,是统一使用主应用的createElement,并尝试将this指向iframe的document。
createElement
this
document
wujie
proxyDocument
iframe
在使用过程中发现,如果wujie的proxyDocument中,执行了被主应用改写过的createElement导致this最终指向主应用的document,会导致子应用内的节点,element instanceof HTMLElement 得到false。
element instanceof HTMLElement
false
因此,是否应该改为使用同域iframe的createElement方法?
如何复现 1、第一步 主应用拦截window.document.createElement,并将调用时的this总是指向window.document 2、 第二步 用wujie加载子应用 3、第三步 在子应用内调用:const element = window.document.createElement("div") 结果:element instanceof HTMLElement得到false
window.document.createElement
window.document
const element = window.document.createElement("div")
The text was updated successfully, but these errors were encountered:
9d657ee
No branches or pull requests
描述bug
当主应用需要拦截原生的
createElement
时,自然会将createElement
的this
指向主应用的document
。然而,目前在
wujie
的proxyDocument
中,是统一使用主应用的createElement
,并尝试将this
指向iframe
的document
。在使用过程中发现,如果
wujie
的proxyDocument
中,执行了被主应用改写过的createElement
导致this
最终指向主应用的document
,会导致子应用内的节点,element instanceof HTMLElement
得到false
。因此,是否应该改为使用同域
iframe
的createElement
方法?如何复现
1、第一步
主应用拦截
window.document.createElement
,并将调用时的this
总是指向window.document
2、 第二步
用wujie加载子应用
3、第三步
在子应用内调用:
const element = window.document.createElement("div")
结果:
element instanceof HTMLElement
得到false
The text was updated successfully, but these errors were encountered: