更新Chrome扩展程序:清单2和安全策略

时间:2013-06-02 10:31:01

标签: javascript google-chrome-extension manifest content-security-policy

我正在尝试更新使用后台页面的现有Chrome扩展程序,我发现了herehere我没有收到任何错误,但弹出窗口从未显示过。 我甚至试图回到一些旧的chrome版本,让我尝试清单1代码,但时间不会增加。 我很抱歉所有这些代码,但我不知道问题来自哪里。

的manifest.json

    {

"manifest_version": 2,
    "background": {
    "scripts": ["background.js"]
  },

   "browser_action": {
      "default_icon": "icon.png",
      "popup": "popup.html"
   },
   "description": "Count the time on Facebook",
   "name": "Compteur Facebook ",
   "permissions": [ "tabs" ],
   "version": "1.0"
}

popup.html

 <!doctype html>
    <html>
      <head>
      <script src="popup.js"></script>
      </head>
      <body>
     The amount of time you have spent on <span>Facebook</span> is: 
    <br /><br />
    <script>document.write(prettyDate(localStorage.getItem('facebookCounter')));</script>
    <br /><br />

    <div>
    Having a problem?<br />

    <button>Reset</button>
    </div>
    </body>
    </html>

popup.js

chrome.extension.getBackgroundPage();

    function resetCounter(){ localStorage.setItem('facebookCounter',0)}

function prettyDate(time){            
        var responce= "About " + Math.round(time) + " seconds"
        return responce
}
function main() {}

document.addEventListener('DOMContentLoaded', function () {
  document.querySelector('button').addEventListener('click', clickHandler);
  resetCounter();
  main();
});

background.js

var a = 0
  var x
  function timedCount()
  {
    a = parseInt(localStorage.getItem('facebookCounter'))

    chrome.tabs.getSelected(null, function(tab) 
    {

        theurl = tab.url.substr(0,24)

        if(theurl == "http://www.facebook.com/")
        {
            a=a+1 
            localStorage.setItem('facebookCounter',a)
        }
    });

    setTimeout("timedCount()",1000);  

  } 

  setTimeout("timedCount()",1000); 

1 个答案:

答案 0 :(得分:1)

要显示弹出窗口,您必须修改“manifest.json”,替换
"popup": "popup.html"

"default_popup": "popup.html"

您可以找到有关从Manifest v1过渡到Manifest v2 here 的更多信息。

另外,请注意,您可能需要进行一些更改才能使您的扩展程序更有效(例如,将后台页面转换为事件页面,或捕获某些事件而不是每秒触发一次计时器)。 This transition guide 可能是一个很好的起点。