wujie
wujie copied to clipboard
页面中使用多个子应用时,子应用 getSelection() 指向错误
描述bug 在一个页面中使用多个子应用时,子应用 getSelection() 指向错误,指向了第一次的 shadowRoot
如何复现 给出详细的复现步骤 每个子应用都调用 getSelection() 方法,先随便触发一个,能获取到正确的 Selection,然后触发其他子应用的 getSelection(),始终都是第一次子应用内的 Selection
错误截图
调试发现是 setFnCacheMap 里面缓存了第一次的值,其他的子应用都用了同一个,导致都是指向了第一个 shadowRoot
好像是只有在 Chrome/Edge 下才会有问题,Firefox 和 Safari 的 shadowRoot 不支持 getSelection() 所以取到的是 document 上的
https://wujie-polyfill.github.io/doc/plugins/selection.html 试试这个
https://wujie-polyfill.github.io/doc/plugins/selection.html 试试这个
不是 isCollapsed 的问题,就是 getSelection() 指向错误了,因为第一次调用的时候缓存了,后面其他的子应用再次调用的时候直接使用了缓存的方法,都指向了第一次调用的 shadowRoot
同遇到这个问题了。有解决方案了吗
同遇到这个问题了。有解决方案了吗
自己处理一下缓存,改了代码自己发包使用了
@rickx81 可以提个PR吗?@yiludege 帮忙关注下,用微前端框架很担心window对象被污染导致第三方库出现问题
@rickx81 可以提个PR吗?@yiludege 帮忙关注下,用微前端框架很担心window对象被污染导致第三方库出现问题
😂明天我看看有没有时间吧,这几天出差很忙 或者你们也可提一个