在manifest.json中创建Google Chrome扩展程序通配符

时间:2011-09-02 14:28:47

标签: google-chrome google-chrome-extension

我正在尝试创建一个Chrome扩展程序,每10分钟重新加载一次touch.facebook.com(我将它保存在Hootsuite旁边的一个狭窄窗口中)。这是我的manifest.json文件:

{
  "name": "Facebook Reloader",
  "version": "0.1",
  "description": "Reload facebook every 10 minutes.",
  "content_scripts": [
      {
        "matches": ["*://touch.facebook.com/*"],
        "js": ["myscript.js"],
        "run_at": "document_start"
      }
  ],
  "permissions": [ "http://touch.facebook.com/*", "https://touch.facebook.com/*", "tabs" ]
}

我真的只想要刷新“*://touch.facebook.com/#!/ home.php *”而不是“*://touch.facebook.com/*”然而我无法想象一种让通配符以这种方式工作的方法。这是“#!”的问题。或者Chrome在路径中允许使用通配符的安全问题。我也尝试过include功能以及匹配功能,但没有运气。

有什么想法吗?

谢谢, 乙

1 个答案:

答案 0 :(得分:0)

问题是那些不是真实的页面。 Facebook通过javascript动态加载页面内容,因此当您在菜单之间切换时,页面实际上永远不会重新加载。

只需将内容脚本注入*://touch.facebook.com/*,然后在刷新之前手动检查网址哈希。类似的东西:

if(window.location.hash.indexOf("#!/home") == 0) {
    //do refresh
}