修改chrome扩展名并且不要破坏扩展名

时间:2015-11-17 08:30:17

标签: javascript google-chrome-extension

修改chrome extension'js代码并重新启动chrome后,修改后的chrome扩展名将被破坏。 三个月前,我对相同的扩展做了同样的事情并且效果很好。

这次我得到一台新计算机和最新版本的chrome(46.0.2490.86 m),但是一旦我修改了扩展程序的源代码,它就会被破坏。

这是源代码和扩展名。 PS:我认为是因为chrome拒绝我修改其原始扩展代码。

扩展名:totop。 扩展功能:添加一个返回顶部按钮并转到每页的底部按钮

我只是修改" 500"至" 100"加快速度。

主要的script.js:

 $("head").prepend("<style>._BackToTopPlus{width:35px;height:35px;border-radius:5px; position:fixed; right:10px; cursor:pointer; background-repeat:no-repeat; background-position:50% 50%; background-color:#000; opacity:.1;transition:opacity .2s ease-in-out;z-index:99999;}._BackToTopPlus:hover{opacity:.5}</style>");
var level=$(window).height()/2-50;
$("body").append("<div class='_BackToTopPlus' style='background-image:url(data:img/png;base64,R0lGODlhEgAUAJEAAAAAAP///////wAAACH5BAEAAAIALAAAAAASABQAAAImjI+py+IPo4xmWmRpyq5dFkzgoY3VY5KS9ykcKy6vnMEr3W417hQAOw==);top:"+(level-40)+"px;'></div>").append("<div class='_BackToTopPlus' style='background-image:url(data:img/png;base64,R0lGODlhEgAUAJEAAAAAAP///////wAAACH5BAEAAAIALAAAAAASABQAAAIqlB2peX27nINKNsoswnrTLmABKJKcJH5PGl3siKZdabZgWN2rzuPv/yoAADs=);top:"+(level+5)+"px;'></div>");
var jsq=0;
$("._BackToTopPlus").eq(0).click(function(){$("body").animate({scrollTop:0},500);}).mouseover(function(){
    jsq=setInterval(function(){
        $("body").scrollTop($("body").scrollTop()-1);
    },20);
}).mouseout(function(){clearInterval(jsq);jsq=null;});
$("._BackToTopPlus").eq(1).click(function(){$("body").animate({scrollTop:$(document).height()},500);}).mouseover(function(){
    jsq=setInterval(function(){
        $("body").scrollTop($("body").scrollTop()+1);
    },20);
}).mouseout(function(){clearInterval(jsq);jsq=null;});

1 个答案:

答案 0 :(得分:1)

花1年时间,我自己得到答案!

Chrome浏览器会在线自动检测其所有扩展名以确保安全,因此在编辑一个扩展文件后,Chrome浏览器会报告扩展程序错误。

溶液

  1. 复制所有扩展文件,编辑我们需要的文件,删除其他无关文件,修改manifest.json。
  2. 启动Chrome开发模式
  3. 加载扩展程序
  4. 例如

    旧的扩展文件包括

    • _locales
    • _metadata
    • jq.js
    • logo.png
    • 的manifest.json
    • 的script.js

    新的扩展文件

    我们需要的文件是:

    • jq.js
    • logo.png
    • 的manifest.json
    • 的script.js

    编辑sript.js以获取我们需要的功能。 编辑manifest.json,我的manifest.json就像:

    ```

    {
       "content_scripts": [ {
          "js": [ "jq.js", "script.js" ],
          "matches": [ "http://*/*", "https://*/*" ]
       } ],
       "icons": {
          "128": "logo.png"
       },
       "manifest_version": 2,
       "name": "ToTop",
       "version": "1.0.0.0"
    }
    

    ```