在具有严格内容安全策略的页面上与 Chrome 扩展中的自定义 Web 组件交互

问题描述 投票:0回答:0

我正在制作一个 Chrome 扩展程序,它需要与第三方网页上的自定义 Web 组件(自定义复选框)进行交互。我需要从我的内容脚本访问元素的属性和方法,但我做不到。

当我直接在 Chrome DevTools 控制台中执行以下操作时,自定义复选框的行为符合预期:

const element = document.querySelector('#checkbox-id');
element.checked = true;
element.handleClick();

但是,当我尝试在我的内容脚本中执行相同的操作时,自定义元素的属性和方法不可用。

除了使用 iframe 之外,我还尝试将内联脚本和带有 Blob URL 的脚本注入到网页的上下文中,但是页面的内容安全策略非常严格,并阻止了这些方法:

Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self' 'wasm-unsafe-eval'". Either the 'unsafe-inline' keyword, a hash ('<hash>'), or a nonce ('nonce-...') is required to enable inline execution.

如何从具有严格内容安全策略的页面上的内容脚本访问自定义 Web 组件并与之交互?

javascript google-chrome-extension web-component content-security-policy content-script
© www.soinside.com 2019 - 2024. All rights reserved.