0

我正在尝试更新使用背景页面的现有 chrome 扩展,我在这里找到了一些东西,在这里没有收到任何错误,但从未显示弹出窗口。我什至试图回到一些旧的 chrome 版本以允许我尝试清单 1 代码,但时间并没有增加。我对所有这些代码感到抱歉,但我不知道问题出在哪里。

清单.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();
});

背景.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); 
4

1 回答 1

1

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

"default_popup": "popup.html"

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

另外,请注意,您可能需要进行一些更改以使您的扩展程序更高效(例如,将背景页面转换为事件页面,或者捕获一些事件而不是使用每秒触发的计时器)。本过渡指南可能是一个不错的起点。

于 2013-06-02T10:49:45.720 回答