如何从 chrome 扩展上下文在页面上运行脚本?

用户11814077

我想知道如何禁用事件侦听器“复制”

我认为它是这样的:

.js 文件:

let btn = document.getElementById('btn');

document.body.addEventListener('click', function(e) {
  if (e.target.id === 'btn') {
    e.stopPropagation();
  }
}, {
  capture: false
});

提前致谢!

清单.json:

{
  "name": "Test",
  "version": "1.0",
  "description": "Just testing!",
  "manifest_version": 2,
  "icons": {
    "48": "images/icon_48.png",
    "128": "images/icon_128.png"
  },
  "browser_action": {
    "default_icon": "images/icon_16.png",
    "default_popup": "popup.html"
  }
}
哇哦

要访问的网页,你需要一个内容脚本,因为在弹出的是一个有自己的DOM,一个单独的页面documentwindow,网址,应有尽有。

您还需要拦截copy在 devtools 的事件侦听器面板中看到的事件:

图片

manifest.json 应具有以下内容:

"content_scripts": [{
  "matches": ["https://moller.jusbrasil.com.br/*"],
  "js": ["content.js"],
  "run_at": "document_start"
}]

内容.js:

window.addEventListener('copy', e => e.stopImmediatePropagation(), true);

让我们分解一下:

  1. 内容脚本在document_start任何页面脚本之前运行
  2. addEventListener 的第三个参数true意味着我们的监听器在事件调度过程的捕获阶段被调用——在任何其他标准冒泡阶段监听器之前
  3. window 是捕获阶段的第一个事件目标
  4. 使用 stopImmediatePropagation() 是因为我们既需要停止事件的后续冒泡,又需要防止页面脚本附加的任何其他侦听器看到该事件

所以最终的结果是我们的监听器保证在页面监听器之前被调用。

PS 如您所见,此任务不需要 browser_action 弹出窗口。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Chrome扩展程序-特定页面上的上下文菜单

来自分类Dev

如何在Meteor上下文中运行脚本?

来自分类Dev

如何在 ContextMenu 上运行脚本 单击 Chrome 扩展

来自分类Dev

Chrome扩展上下文菜单:单击菜单项后如何将div附加到页面

来自分类Dev

如何通过将脚本路径传递给padrino在padrino上下文中运行脚本

来自分类Dev

Chrome扩展程序-将对象从页面传递到上下文脚本

来自分类Dev

chrome扩展中上下文菜单触发的运行jQuery脚本

来自分类Dev

chrome扩展中上下文菜单触发的运行jQuery脚本

来自分类Dev

如何在Chrome中打开页面刷新按钮上的上下文菜单?

来自分类Dev

开发Chrome扩展程序时,如何打开空白页以运行脚本?

来自分类Dev

chrome / chromium扩展名:通过上下文菜单运行可执行文件/脚本

来自分类Dev

Chrome 扩展,让内容脚本在所有页面上运行?

来自分类Dev

Chrome扩展程序:如何使后台等待执行脚本?

来自分类Dev

如何将上下文菜单添加到带有Chrome扩展程序的浏览器操作中?

来自分类Dev

在Chrome扩展程序中,如何在上下文菜单中具有多组单选按钮

来自分类Dev

如何在Chrome扩展程序中动态地向上下文菜单添加选项?

来自分类Dev

如何将上下文菜单添加到带有Chrome扩展程序的浏览器操作中?

来自分类Dev

如何显示我的Chrome扩展程序创建的上下文菜单选项的键盘快捷键?

来自分类Dev

如何在Chrome扩展程序中动态地向上下文菜单添加选项?

来自分类Dev

从后台页面上下文使用chrome.downloads.acceptDanger

来自分类Dev

如何从Chrome扩展程序后台脚本访问页面变量

来自分类Dev

chrome扩展程序:页面加载完javascript后运行脚本

来自分类Dev

Backbone and jqm:后退按钮如何还原页面上下文

来自分类Dev

骨干网和jqm:后退按钮如何还原页面上下文

来自分类Dev

如何使用JavaScript在CRM中获取当前页面上下文

来自分类Dev

如何在Chrome扩展程序中动态运行后台脚本?

来自分类Dev

如何在Chrome扩展程序中动态运行后台脚本?

来自分类Dev

Chrome扩展程序上下文菜单未显示

来自分类Dev

如何在Chrome的多功能框(地址栏)中添加上下文菜单?

Related 相关文章

  1. 1

    Chrome扩展程序-特定页面上的上下文菜单

  2. 2

    如何在Meteor上下文中运行脚本?

  3. 3

    如何在 ContextMenu 上运行脚本 单击 Chrome 扩展

  4. 4

    Chrome扩展上下文菜单:单击菜单项后如何将div附加到页面

  5. 5

    如何通过将脚本路径传递给padrino在padrino上下文中运行脚本

  6. 6

    Chrome扩展程序-将对象从页面传递到上下文脚本

  7. 7

    chrome扩展中上下文菜单触发的运行jQuery脚本

  8. 8

    chrome扩展中上下文菜单触发的运行jQuery脚本

  9. 9

    如何在Chrome中打开页面刷新按钮上的上下文菜单?

  10. 10

    开发Chrome扩展程序时,如何打开空白页以运行脚本?

  11. 11

    chrome / chromium扩展名:通过上下文菜单运行可执行文件/脚本

  12. 12

    Chrome 扩展,让内容脚本在所有页面上运行?

  13. 13

    Chrome扩展程序:如何使后台等待执行脚本?

  14. 14

    如何将上下文菜单添加到带有Chrome扩展程序的浏览器操作中?

  15. 15

    在Chrome扩展程序中,如何在上下文菜单中具有多组单选按钮

  16. 16

    如何在Chrome扩展程序中动态地向上下文菜单添加选项?

  17. 17

    如何将上下文菜单添加到带有Chrome扩展程序的浏览器操作中?

  18. 18

    如何显示我的Chrome扩展程序创建的上下文菜单选项的键盘快捷键?

  19. 19

    如何在Chrome扩展程序中动态地向上下文菜单添加选项?

  20. 20

    从后台页面上下文使用chrome.downloads.acceptDanger

  21. 21

    如何从Chrome扩展程序后台脚本访问页面变量

  22. 22

    chrome扩展程序:页面加载完javascript后运行脚本

  23. 23

    Backbone and jqm:后退按钮如何还原页面上下文

  24. 24

    骨干网和jqm:后退按钮如何还原页面上下文

  25. 25

    如何使用JavaScript在CRM中获取当前页面上下文

  26. 26

    如何在Chrome扩展程序中动态运行后台脚本?

  27. 27

    如何在Chrome扩展程序中动态运行后台脚本?

  28. 28

    Chrome扩展程序上下文菜单未显示

  29. 29

    如何在Chrome的多功能框(地址栏)中添加上下文菜单?

热门标签

归档