我们在chrome扩展程序的background.js中创建了一个侦听器,但它没有运行

时间:2018-10-31 10:15:25

标签: google-chrome google-chrome-extension

我正在创建一个简单的Chrome扩展程序,该扩展程序阻止我连接到Google域。但是在后台,javascript继续工作并创建了background.js和更新后的侦听器。但这是行不通的。为什么?当我单击Main.js中的图标时,就可以了。

manifest.json

{
      "manifest_version": 2,

      "name": "불법 토토사이트 감지기",
      "description": "불법 토토사이트를 감지해주는 사이트입니다.",
      "version": "1.0",
      "content_security_policy": "script-src 'self' https://ajax.googleapis.com; object-src 'self'",
      "background": {
        "scripts": ["background.js"],
        "persistent" : false
      },
      "browser_action": {
        "default_icon": "icon.png",
        "default_popup": "popup.html"
      },
      "permissions": [
        "tabs",
        "activeTab"
      ]
  }

background.js

chrome.tabs.onUpdated.addListener(function () {
                var domain = document.URL;
                var google = 'https://www.google.co.kr/';

                if (domain == google) {
                    chrome.tabs.executeScript({
                        code: 'alert("불법 사이트입니다"); history.go(-1);'
                    })
                }


                // $.ajax({
                //     type: 'POST',
                //     url: 'http://207.148.88.110:3000/',
                //     data: {
                //         url: domain
                //     },
                //     dataType: 'json',
                //     success: function(Object){
                //         if (Object.success == '통과') {
                //             document.getElementById('url').innerHTML = Object.success;
                //         }
                //         else {
                //             chrome.tabs.executeScript({
                //                 code: 'alert("불법 사이트입니다"); history.go(-1);'
                //             })
                //         }
                //     },
                //     error: function(error) {
                //         console.log(error);
                //     }
                // })




        })

main.js

chrome.tabs.executeScript({
            code: 'document.URL;'
        }, function (domain) {

            var google = 'https://www.google.co.kr/';

            if (domain == google) {
                chrome.tabs.executeScript({
                    code: 'alert("불법 사이트입니다"); history.go(-1);'
                })
            }




            $.ajax({
                type: 'POST',
                url: 'http://207.148.88.110:3000/',
                data: {
                    url: domain
                },
                dataType: 'json',
                success: function(Object){
                    if (Object.success == '통과') {
                        document.getElementById('url').innerHTML = Object.success;
                    }
                    else {
                        chrome.tabs.executeScript({
                            code: 'alert("불법 사이트입니다"); history.go(-1);'
                        })
                    }
                },
                error: function(error) {
                    console.log(error);
                }
            })


        })

1 个答案:

答案 0 :(得分:0)

sed

此时,代码中的chrome.tabs.onUpdated.addListener(function () { var domain = document.URL; /* ... */ 后台页面。因此,该网址将类似于document,并且永远不会匹配。

您需要检查提供给onUpdated listeners的详细信息:

chrome-extension://your-extension-id/_generated_background_page.html