首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在chrome扩展版本3中允许eval

在 Chrome 扩展版本3 中允许 eval

在 Chrome 扩展版本3 中,eval 函数默认是禁用的。eval 函数可以执行任意的 JavaScript 代码,但同时也存在一定的安全风险,因此在扩展程序中默认是被禁止的。

如果需要在 Chrome 扩展版本3 中允许使用 eval 函数,可以按照以下步骤进行操作:

  1. 在扩展程序的清单文件(manifest.json)中,添加 "manifest_version": 3,指定使用版本3的清单文件格式。

示例 manifest.json:

代码语言:txt
复制
{
  "name": "My Extension",
  "version": "1.0",
  "manifest_version": 3,
  "permissions": [
    "scripting"
  ],
  "action": {
    "default_popup": "popup.html"
  }
}
  1. 在清单文件中,添加 "scripting" 权限。这个权限是在 Chrome 扩展版本3 中引入的新特性,用于允许扩展程序在特定的网页上执行 JavaScript。
  2. 在扩展程序的主要 JavaScript 文件中,使用 chrome.scripting.executeScript() 方法来执行需要使用 eval 的代码块。

示例代码:

代码语言:txt
复制
chrome.scripting.executeScript({
  target: { tabId: tabId },
  function: () => {
    eval('console.log("Hello, eval!")');
  }
});

在以上示例中,通过 chrome.scripting.executeScript() 方法,将需要使用 eval 的代码块作为一个函数传递,并通过 eval 函数执行。

需要注意的是,使用 eval 函数可能存在安全风险,并且它可能会导致代码执行效率降低。在使用 eval 函数之前,请确保代码来源可信,并且尽量避免使用 eval 函数,以保障扩展程序的安全性和性能。

另外,根据具体的业务需求,您可以根据 Chrome 扩展版本3 提供的其他特性和 API,结合您的专业知识和经验,来设计和实现更加全面和完善的功能。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

设计和实现一个 Chrome 插件提升登录效率

本文将讲述一下如何在浏览器环境,扩展 Chrome 浏览器原有的“记住密码”功能,实现快捷登录、隔离账号信息以及备注标签等方便使用的功能,同时分享给测试、后端、产品等其他的伙伴,提高大家的效率,希望这次探索能给更多的人带来启发...前期设计 Chrome 扩展程序 既然是代替用户进行浏览器页面的登录,我们当然可以选择 Chrome Extension (扩展程序)(https://developer.chrome.com/docs...扩展允许您通过使用 API 修改浏览器行为和访问 Web 内容来“扩展”浏览器。...前端技术栈 本次 Chrome 插件选用 React 框架开发,其他开发者也可以根据自己的偏好进行技术选型。 第一版本的插件能力暂时不接入后端,数据都存在本地。...安装扩展文件 Chrome 允许安装 Chrome 应用市场和本地文件两种来源的扩展文件。

1.5K10

程序员的实用神器:软件开发的导航指南

这些工具覆盖了从代码编写、版本控制到测试和部署的各个环节。本文将探讨几款广受欢迎的程序员工具,分享它们如何在各个开发阶段为程序员提供支持,并提升软件开发的整体效率。一、代码编写1....它拥有丰富的扩展库,允许开发者根据需要定制环境。VS Code的代码自动补全和智能感知功能,大大提高了代码编写的效率和准确性。...代码片段管理工具代码片段管理工具Snippet Lab、CodeBox等,允许程序员保存、组织和重用常用的代码片段。这些工具不仅提高了开发效率,还帮助程序员保持代码的一致性和可维护性。...其强大的插件系统,允许开发者根据需要扩展功能,满足不同项目的测试需求。2. 调试工具调试工具GDB、WinDbg和Chrome DevTools等,帮助程序员跟踪和诊断代码中的问题。...DockerDocker是一种容器化技术,允许开发者将应用程序及其依赖打包成容器,以便在不同环境中运行。通过Docker,开发者可以实现环境的一致性,简化应用的部署和扩展

9110

谁说Chrome插件v3中不能使用eval?

所以在这个简单的需求下,我尝试通过允许用户自定义hook来实现 2 解决方案 我们要完成hook,本质上就是两种方法。...一种是动态代码注入(文件注入),一种是eval执行字符串 2.1 已知限制 开始之前,我们首先先获取一些(踩坑后明白的)已知限制: Chrome v3版本全面禁止eval, new Function,...不管在background,inject还是popup中都无法通过任何手段开启 Chrome v3版本全面禁止通过script标签加载外部源文件 Chrome目前上的的插件仅支持v3,v2已经禁上架...2.2 方案评估 2.3.1 unsafe-wasm-eval【❌】 经过chrome文档的查阅,发现在v3版本允许对wasm文件做动态导入的操作 ......Chrome固然禁止了我们使用系统携带的eval解释器,但是并不妨碍我们引入自己的解释器。

1.6K40

Nginx配置各种响应头防止XSS,点击劫持,frame恶意攻击

Chrome 扩展已经引入了 CSP,通过 manifest.json 中的 content_security_policy 字段来定义。一些现代浏览器也支持通过响应头来定义 CSP。...下面我们主要介绍如何通过响应头来使用 CSP,Chrome 扩展中 CSP 的使用可以参考 Chrome 官方文档。...'self' img-src 'self' 允许来自相同来源的内容(相同的协议、域名和端口)。 data: img-src data: 允许 data: 协议( base64 编码的图片)。...'unsafe-eval' script-src 'unsafe-eval' 允许加载动态 js 代码,例如 eval()。 从上面的介绍可以看到,CSP 协议可以控制的内容非常多。...而且如果不特别指定 'unsafe-inline' 时,页面上所有 inline 样式和脚本都不会执行;不特别指定 'unsafe-eval',页面上不允许使用 new Function,setTimeout

3.8K50

严格模式 – JavaScript

eval 代码,Function 代码,事件处理属性,传入 setTimeout方法的字符串和包含整个脚本的块中开启严格模式会预期一样工作。...变化通常分为这几类:将问题直接转化为错误(语法错误或运行时错误), 简化了如何为给定名称的特定变量计算,简化了 eval 以及 arguments, 将写”安全“JavaScript的步骤变得更简单,...任何在正常模式下引起静默失败的赋值操作 (给不可写属性赋值, 给只读属性(getter-only)赋值赋值, 给不可扩展对象(non-extensible object)的新属性赋值) 都会抛出异常:...这两个扩展接口对于“安全”JavaScript而言都是有问题的,因为他们允许“安全的”代码访问”专有”函数和他们的(通常是没有经过保护的)形参。...两个针对Mozilla开发的警告:第一,如果你的JavaScript版本在1.7及以上(你的chrome代码或者你正确使用了)并且开启了严格模式的话,因为let和yield是最先引入的关键字,所以它们会起作用

99830

JS 逆向之 Hook,吃着火锅唱着歌,突然就被麻匪劫了!

[04.png] 2、TamperMonkey 注入 TamperMonkey 俗称油猴插件,是一款免费的浏览器扩展和最为流行的用户脚本管理器,支持很多主流的浏览器, 包括 Chrome、Microsoft...[06.png] 3、浏览器插件注入 浏览器插件官方叫法应该是浏览器扩展(Extension),浏览器插件能够增强浏览器功能,同样也能够帮助我们 Hook,浏览器插件的编写并不复杂,以 Chrome 插件为例...需要注意的是,火狐浏览器插件不一定能在其他浏览器上运行,而 Chrome 插件除了能运行在 Chrome 浏览器之外,还可以运行在所有 webkit 内核的国产浏览器,比如 360 极速浏览器、360...我们还是以某奇艺的 cookie 来演示如何编写一个 Chrome 浏览器 Hook 插件。...的扩展程序, 打开开发者模式,加载已解压的扩展程序,选择创建的文件夹即可: [07.png] 来到某奇艺页面,清除 cookie 后重新进入,可以看到同样也成功断下,跟踪调用栈就可以找到其值生成的地方

1.5K10

浏览器插件开发-manifest文件解读「建议收藏」

Chrome 18 开发 写 2 即可 2. name 必填 插件名称 3. version 必填 插件版本,发布新版本后,浏览器会比较其已安装的插件的版本,有更新的版本则会自动更新...4. description 插件的描述,132个字符限制 5. icons 插件的图标,可以用在 Chrome 商店展示(128 * 128) | 插件管理界面 (48 * 48) | 扩展页图标...,直到它侦听的某个事件被触发, 侦听到事件后,会使用指定的指令响应(怎么相应自定义) 以下情况会需要调用到后台脚本 扩展首次下载或者版本更新 后台脚本中正在监听事件,并且这事件被触发了 content_script...[permissionName] API,全部的权限字符串可以点击上边链接查看,一下列出常用的权限 activeTab 允许用户在调用扩展时临时访问当前活动的选项卡, background 后台权限..., 16. content_security_policy 内容安全策略, 默认的安全策略为 script-src 'self'; object-src 'self' 他会有如下限制 禁止 eval

2.4K20

从油猴脚本管理器的角度审视Chrome扩展

实际上FireFox是才第一个引入浏览器扩展/附加组件的主流浏览器,其在2004年发布了第一个版本扩展系统,允许开发人员为FireFox编写自定义功能和修改浏览器行为的软件程序。...而Chrome浏览器则在2010年支持了扩展系统,同样其也允许开发人员为Chrome编写自定义功能和修改浏览器行为的软件程序。...但是自2022.01.17起,Chrome网上应用店已停止接受新的Manifest V2扩展,所以对于要新开发的拓展来说,我们还是需要使用v3版本的受限能力,而且因为谷歌之前宣布v2版本将在2023初完全废弃...那么现在扩展已经发展到了v3版本,在v3版本中一个非常大的区别就是Service Workers不能保证常驻,需要主动唤醒,所以在chrome://extensions/中如果是v3版本的插件,我们会看到一个...){}).constructor来访问Function对象,所以针对于window沙箱环境也是需要不断进行攻防的,例如小程序不允许使用Function、eval、setTimeout、setInterval

18310

如何选一款适合自己的网页浏览器?-2023

在一台设备上登录您的 Google 帐户,所有 Chrome 书签、保存的数据和偏好设置都会立即出现。即使是活跃的扩展程序也会在设备之间保持同步。...Edge Workspaces 允许用户将任务组织到专用窗口中,Microsoft 不断调整各种功能, Edge 侧边栏,使其更加用户友好。...虽然跨平台管理设置不像 Google Chrome 那样无缝,但移动浏览器应用程序允许在使用免费的 Firefox 帐户时在设备之间共享书签。 还有一点附带的好处。...Chrome 依靠扩展生态系统来提供用户可能想要的功能,而 Opera 则在浏览器本身中加入了更多功能。...您可以从 Opera Add-ons 商店安装扩展程序,就像 Chrome 扩展程序一样。

28320

产品解析:Github Atom

按照atom作者的意思:textmate/sublime text提供了受限的扩展性;而vim/emacs扩展性很好,但编写扩展需要特定的scripting language。...只要你用过任何一款文本编辑环境,sublime text, ultra edit等,那么上手atom很快,几乎不用任何学习。不过你也许会有疑惑:atom有什么好处?...很可能chrome上面的沙箱环境(不允许web app访问本地资源,文件系统)被移除,然后nodejs以某种方式被集成进来(这样javascript可以访问文件系统等本地资源)。...如果能用javascript花一个小时写出来,再用phoneGap等工具一编译就搞定的活,使用native code写个todo list意义又何在呢?同样的道理适用于desktop app。...(5) 目前只有osx版本

1.6K80

JavaScript Errors 指南

是唯一一个能够通过window.onerror检测到其他源上面的文件错误的浏览器,要么将其过滤掉,要么为其设置合适的跨域头信息 Chrome Extensions 在早期版本Chrome浏览器中,安装在用户电脑中...Chrome插件抛出的JS错误依然会被window.onerror检测到,这一bug在新版本Chrome中已经被修正,参见下面Chrome插件部分。...Extensions 由于Chrome Extensions 不同的Chrome 扩展错误的表现也有所不同,因此他们应该有自己处理错误的方式,同时,Chrome 扩展中的错误在大型项目中的危害也不容小觑的...Chrome 扩展中的JS错误应该在被window.onerror捕获之前被过滤掉 Browser Actions Chrome扩展可以产生一个弹出窗口,这些弹出窗口是一个小型的HTML文件,有用户点击...URL栏右边的Chrome 扩展图标所致。

2K20
领券