当前位置: 首页 > 面试题库 >

Chrome扩展程序中的onClick无法正常工作

韩博厚
2023-03-14
问题内容

这似乎是最容易的事情,但它没有用。在普通的浏览器中,.html和.js文件可完美运行,但在Chrome扩展程序中,该onClick功能无法执行应有的功能。

.js文件:

function hellYeah(text) {
  document.getElementById("text-holder").innerHTML = text;
}

.html文件:

<!doctype html>
<html>
  <head>
    <title>
      Getting Started Extension's Popup
    </title>
    <script src="popup.js"></script>
  </head>
  <body>
    <div id="text-holder">
      ha
    </div>
    <br />
    <a onClick=hellYeah("xxx")>
      hyhy
    </a>
  </body>
</html>

因此,基本上,一旦用户单击“ hyhy”,“ ha”应更改为“ xxx”。再说一次-
它在浏览器中完美运行,但在扩展程序中不起作用。你知道为什么吗?以防万一我还要在下面附加manifest.json。

提前致谢!

manifest.json:

{
  "name": "My First Extension",
  "version": "1.0",
  "manifest_version": 2,
  "description": "The first extension that I made.",
  "browser_action": {
    "default_icon": "icon.png",
    "default_popup": "popup.html"
  },
  "permissions": [
    "http://api.flickr.com/"
  ]
}

问题答案:

Chrome扩展程序不允许您使用内联JavaScript(文档)。您将必须执行与此类似的操作。

为链接分配一个ID(<a onClick=hellYeah("xxx")>变为<a id="link">),并用于addEventListener绑定事件。将以下内容放入您的popup.js文件中:

document.addEventListener('DOMContentLoaded', function() {
    var link = document.getElementById('link');
    // onClick's logic below:
    link.addEventListener('click', function() {
        hellYeah('xxx');
    });
});


 类似资料:
  • 问题内容: 我使用黄油刀库完美地注入了视图。但是,当我尝试实现侦听器时,例如,我无法实现它们。以下Java代码将帮助您了解我的问题。 Java代码: 告诉我为什么会这样。代码有什么问题吗?我已经通过使用以下URL配置了与ButterKnife兼容的IDE。 http://stackoverflow.com/questions/27754811/onclick-is-not-working-in-

  • 问题内容: 我想创建一个Google Chrome扩展程序。具体来说,我想制作一个打包的应用程序,而不是一个托管的应用程序。我认为这限制了我使用JavaScript(和HTML / CSS)是否正确? 我的问题是我需要做一些复杂的数学运算(奇异值分解,因子分析),并且我不想在javascript中为此编写算法。Python已经有了我需要的功能的库(SciPy),但是我找不到任何可以使用python

  • 问题内容: 我做了一个test.html文档来测试脚本。不知何故它不起作用,我不明白为什么什么也没发生。该脚本位于-tags中,并带有-tag,而css也具有- tags。为什么不起作用?这是代码 问题答案: 由于用于绑定事件处理程序的代码是在元素存在于中之前执行的,因此事件未绑定到元素上。 要解决此问题,您可以 将您的代码包装在回调中,以便在加载完成后执行您的代码 将您的脚本移动到的末尾,以便所

  • 问题内容: 我编写了上面的代码,以提供更方便的方式来声明自定义uicolor。但是以某种方式,它通过调用自身直到堆栈溢出而使我的应用程序崩溃。怎么了 另外,我只是意识到我没有明确调用此init函数。但是,当发生此错误时,我正在打电话。当然,如果我显式调用此函数,仍然会发生错误! 问题答案: 我认为这样做不会带来任何不便: 但是如果您真的需要一个,可以按照以下步骤操作:

  • 问题内容: 我正在尝试使用一行jQuery代码制作一个Chrome扩展程序,但是它不起作用。我正在尝试触发元素上的点击。 chrome控制台根本不显示任何错误,并且当我仅将jQuery代码放在控制台中时,它可以正常工作。 我的代码: content.js background.js manifest.json 我还下载了文件,并将其放在扩展文件夹中。 谁能解释为什么它不起作用??? 问题答案: 问

  • 问题内容: 我的Chrome扩展程序有小问题。 我只想从另一台服务器获取JSON数组。但是清单2不允许我这样做。我尝试指定,但是JSON数组存储在没有SSL证书的服务器上。 那么,不使用清单1怎么办? 问题答案: 该CSP不能引起你所描述的问题。您很有可能使用的是JSONP而不是纯JSON。JSONP在Chrome中不起作用,因为JSONP通过在文档中插入标签而起作用,该标签的属性设置为Web服务