首页  >  文章  >  web前端  >  为什么我的 Chrome 扩展程序弹出按钮点击事件不起作用?

为什么我的 Chrome 扩展程序弹出按钮点击事件不起作用?

Patricia Arquette
Patricia Arquette原创
2024-11-25 18:19:11564浏览

Why is my Chrome Extension Popup Button Click Event Not Working?

对禁用点击事件的扩展程序弹出窗口进行故障排除

开发 Chrome 扩展程序时,可能会遇到弹出窗口无响应或鼠标单击事件的情况不予处理。此问题可能会导致扩展程序无法正常运行。

问题描述:

用户创建了一个 Chrome 扩展程序弹出窗口,其中包含一个用于在单击时递增变量的按钮。但是,单击按钮不会触发递增变量的预期行为。提供了manifest.json文件和弹出窗口的HTML页面代码:

manifest.json:

{
  "name":"Facebook",
  "version":"1.0",
  "description":"My Facebook Profile",
  "manifest_version":2,
  "browser_action":{
    "default_icon":"google-plus-red-128.png",
    "default_popup":"hello.html"
  }
}

hello.html(Popup页):

<!DOCTYPE html>
<html>
  <head>
    <script>
      var a=0;
      function count()
      {
        a++;
        document.getElementById("demo").innerHTML=a;
        return a;
      }
    </script>
  </head>
  <body>
    <p>

调查:

调查显示,该问题是由于 Chrome 强制执行的默认内容安全策略 (CSP) 造成的。 CSP 禁止内联 JavaScript 执行,该内联 JavaScript 在弹出 HTML 页面中用于处理点击事件。

解决方案:

要解决此问题,请使用内联 JavaScript HTML 文件被删除并放置在单独的 JS 文件中:

hello.html (Popup Page):

<!DOCTYPE html>
<html>
<head>
</head>
<body>
  <p>

popup.js:

var a=0;
function count() {
  a++;
  document.getElementById('demo').textContent = a;
}
document.getElementById('do-count').onclick = count;

通过此更改,弹出窗口现在将在按钮按下时按预期增加变量被点击。

以上是为什么我的 Chrome 扩展程序弹出按钮点击事件不起作用?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn