我有一个 Chrome 扩展程序(当前清单 v2,但很快将升级到 v3),它需要与通过更改 URL 中的哈希来模拟页面更改的 SPA 一起使用。
例子:
Page 1: https://www.example.com/somedir/#page1
Page 2: https://www.example.com/somedir/#page2
我有单独的内容脚本#page1
和#page2
,以及网站上其他页面的默认内容脚本。
我遇到的问题是页面最初加载时没有散列,然后在延迟几秒钟后,应用程序添加了#page1
散列。换句话说,当用户导航到#page1
:
- 该站点最初加载为https://www.example.com/somedir/
- 我的 #page1 的 Chrome 扩展内容脚本查找包含 glob
*#page1
,在 URL 中看不到#page1
哈希并回退到默认内容脚本 - 几秒钟的延迟后,站点将
#page1
哈希附加到 URL,大概是通过设置location.hash
(即,URL 现在是https://www.example.com/somedir/#page1)
我认为我正在寻找某种方法来检测#page1
哈希已添加到 URL,然后强制扩展重新执行并注入正确的内容脚本#page1
。有没有办法做到这一点?如果没有,是否有其他方法可以解决此时间问题?
谢谢你。