【问题标题】:Function not invoke in the Javascript file in Chrome extensionChrome 扩展中的 Javascript 文件中未调用函数
【发布时间】:2015-11-27 00:02:25
【问题描述】:

popup.html 中的onclick() 方法未调用background.js 文件的函数。我的manifest.jjson 文件有问题吗?因为通常该功能正常工作。

ma​​nifest.json

{
        "name": "Popping Alert",
        "description": "http://stackoverflow.com/questions/15194198/background-js-not-working-chrome-extension",
        "background": {
            "scripts": [
                "background.js"
            ]
        },
        "content_scripts": [
        {
          "matches": ["http://www.google.com/*"],
          "css": ["print.css","styles.css"],
          "js": ["background.js"]
        }
      ],
        "version": "1",
        "manifest_version": 2,
        "browser_action": {
            "default_title": "Click Me",
            "default_icon": "hello.png"
        }
    }

popup.html

<script type="text/javascript" src="background.js"></script> 
<section id="content">
                <ul class="column">
                    <!--eqblock-->
                    <li>
                        <section class="block">
                                    <a href="#"><img src="images/facebook.jpg" alt=""  /></a> 
                                        <h2><a href="#" onclick="MyFunction1()">Facebook </a> </h2> 


                        </section>
                    </li>
        </ul>
        </section>

background.js

function MyFunction1 () {
                                 localStorage.setItem("facebook", "https://www.facebook.com/");
                                window.open(localStorage.getItem("facebook"));
                                alert("ok");
                                        }

【问题讨论】:

  • 据我所知,清单似乎很好。
  • 有什么问题?

标签: javascript google-chrome


【解决方案1】:

您不能直接从非后台脚本调用 background.js 中的函数。他们的背景不同。你需要使用Message Passing

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-25
    • 2013-11-18
    • 1970-01-01
    • 2019-02-12
    • 1970-01-01
    • 2011-08-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多