我正在使用 Add-on SDK 编写一个 Firefox 扩展,我成功地从内容脚本扫描了一个网站,现在想更深入地了解。但是,当我用
更改网址时window.location.href = "http://www.thatsite.com/foo.php";
alert($('#abc');
我无法访问新的 DOM。在站点被完全阅读之前出现警报。我尝试了 $(document).ready(function()
但似乎这只有效一次......
我如何才能等到网站完全构建好?
最佳答案
您的内容脚本仅在页面加载时有效 - 如果您导航到不同的页面,该内容脚本实例将被卸载。内容脚本的另一个实例将被加载到新页面中,但是您可以在那里执行所有必要的操作。唯一的问题是将数据从旧实例传递到新实例。您可以使用 postMessage()
将数据发送到附加组件,然后让附加组件将其发送到 onAttach()
处理程序中的新内容脚本。在您的情况下这是否可能取决于您要实现的目标(您在问题中没有这么说)。
关于javascript - 使用 window.location.href 更改 URL 后如何知道 DOM 何时再次准备就绪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7727857/