我的网络应用程序中有一个谷歌地图,我有一个打印按钮,单击该按钮会打开一个 iframe,在这里我从父级获取 map 并将其放置在 iframe 中,我还克隆了 map 并将克隆到父级中,使其看起来相同。在 iframe 内,您可以移动 map 等,用户可以打印 map 等,我的问题是当他们关闭 iframe 时,我删除克隆的 map 并将原始 map 附加回父级。
在 Firefox、IE 和 Edge 中,我可以在 iframe 关闭后自由移动 map 、放大和缩小等。但在 Chrome 中,它会卡住,如果我将鼠标悬停在街景男人上,则不会移动/缩放任何内容不过,光标确实会发生变化,如果我单击底部的超链接(即使用条款),这也会起作用!
我已经快速拼凑了一把 fiddle 来展示这一点
https://jsfiddle.net/a397981w/3/
// add original map again
parent.dom.appendChild(domNode);
当显示 fiddle 加载 map 时,单击 map 下方的按钮,将弹出 iframe,其中包含 map ,您可以移动此 map ,当您关闭 iframe 并尝试在原始 map 内移动时,什么也不会发生在 Chrome 中。
为了让这个 fiddle 适合我的测试,我必须从命令行运行 Chrome,如下所示,请注意,这仅用于测试目的,因为我在使用 iframe 时遇到了跨站点脚本错误
chrome.exe --disable-web-security
最佳答案
该问题与您正在监听 ExtJS 窗口的 destroy
事件有关。如果您将其更改为监听 close
事件,则它可以在 Chrome 中正常工作。
关于javascript - Chrome - 将 map div 从 iframe 移回会卡住 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41571689/