繁体   English   中英

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

[英]update a chrome extension: manifest 2 and security policy

我正在尝试更新使用背景页面的现有chrome扩展程序,我在这里找到了一些东西, 这里我没有收到任何错误,但是从不显示弹出窗口。 我什至尝试回到一些旧的chrome版本,以允许我尝试使用manifest 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); 

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

"default_popup": "popup.html"

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM