JS代码到chrome扩展它不起作用

时间:2018-02-13 23:35:16

标签: javascript json google-chrome google-chrome-extension

我编写了一个JS代码,用于选择所有<td>元素并刷新页面,直到元素更改为数字。

不幸的是,在刷新页面后代码结束,所以我想构建一个chrome扩展,但它太棘手了!这是行不通的!你能帮我解决一下这个问题吗?当我按下激活该功能的按钮时,没有任何反应..(控制台检查)

我只想实现一个脚本,该脚本将在特定选项卡(而不是URL)的后台运行。检查一些选项后,扩展名听起来很酷。也许有更好的解决方案?

的manifest.json

"manifest_version": 2,
"name": "Grade Refresher!",
"description": "This extension will refresh the page until the grade will shown!",
"version": "1.0",

"browser_action": {
 "default_icon": "icon.png",
 "default_popup": "popup.html"
},
"permissions": [
 "activeTab"
 ]

popup.html

<!doctype html>
<html>
  <head>
    <title>Grade Refhresher</title>
    <script src="refresh.js"></script>
  </head>
  <body>
    <h1>Grade Refresher</h1>
    <button id="activate">Check this page now!</button>
  </body>
</html>

<强烈> refresh.js

document.addEventListener('DOMContentLoaded', function() {
    var checkPageButton = document.getElementById('activate');

    checkPageButton.addEventListener('click', function() {
      chrome.tabs.getSelected(null, function(tab) {

        //my JS code starts here  
        console.log("START");
        //select all td elements
        var table_data = document.querySelectorAll("td");
        var flag = false;
        //td elements 9,19,29.. all with the grades data
        for(var i=9; i<table_data.length && !flag; i+=10){
            console.log('checking '+ table_data[i])
            if(parseInt(table_data[i].innerText) > 0 && parseInt(table_data[i].innerText) < 100){
            window.open("https://www.youtube.com/watch?v=Jmd4OLzhQw0");
            flag = true;
            break;
        } else {
                setInterval(function(){
                console.log("RELOAD PAGE");
                refresh();
                }, 5000);
            }
        }

        function refresh() {
            window.location.reload();
        }
      });
    });
  });

非常感谢你! :)

0 个答案:

没有答案