javascript - 使用 window.location.href 更改 URL 后如何知道 DOM 何时再次准备就绪

标签 javascript dom firefox-addon firefox-addon-sdk

我正在使用 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/

相关文章:

javascript - 如何从 Firefox Addon XUL 树中添加和删除行

javascript - Google 行车路线至最近的道路

javascript - 显示 CSS 属性

javascript - ASP.NET 独立的 javascript 目录结构

javascript - 动态插入的包含文本的 div 的宽度

javascript - 如果元素将落在屏幕之外,则尝试翻转输出

javascript - 如何确定 http 请求的位置/来源(地址栏)?

javascript - Rails 评论不使用 ajax 呈现

javascript - 获取 iframe 的当前位置/url 并分配给变量

javascript - mozIStorageConnection 和异步lastInsertRowID