我想创建一个类似的Chrome扩展https://chromewebstore.google.com/detail/jetradar-cheap-flights-ai/bbdcobeilglncnnogiogdiagjflekean
我有这个代码:
<script async src="https://tp.media/content?currency=usd&trs=291038&shmarker=21549&combine_promos=101_7873&show_hotels=true&powered_by=true&locale=en_us&searchUrl=search.jetradar.com&color_button=%2332a8dd&color_icons=%2332a8dd&dark=%23262626&light=%23FFFFFF&secondary=%23FFFFFF&special=%23C4C4C4&color_focused=%2332a8dd&border_radius=0&no_labels=&plain=true&promo_id=7879&campaign_id=100" charset="utf-8"></script>
字符串
但它每次都会给出安全错误:
Refused to load the script 'https://tp.media/content?currency=usd&trs=291038&shmarker=21549&combine_promos=101_7873&show_hotels=true&powered_by=true&locale=en_us&searchUrl=search.jetradar.com&color_button=%2332a8dd&color_icons=%2332a8dd&dark=%23262626&light=%23FFFFFF&secondary=%23FFFFFF&special=%23C4C4C4&color_focused=%2332a8dd&border_radius=0&no_labels=&plain=true&promo_id=7879&campaign_id=100' because it violates the following Content Security Policy directive: "script-src 'self'". Note that 'script-src-elem' was not explicitly set, so 'script-src' is used as a fallback.
型
我尝试了不同的方法,但没有帮助(
2条答案
按热度按时间sxissh061#
更新内容安全策略(CSP)您可以将其更新为允许来自指定域的脚本。
添加'tp.media'
字符串
rdlzhqv92#
在Manifest V3中,不允许在扩展的上下文中直接执行外部脚本,但仍然允许通过加载到iframe中的网页显示外部内容,前提是iframe加载了通过HTTPS访问的资源。
因此,您可以创建一个HTML页面,该页面将作为一个iframe嵌入到popup扩展中,并将放置您的外部脚本。
为您的扩展创建以下文件:(假设您有一个文件widget.html,可以通过HTTPS在任何服务器上访问。
字符串
型
将https://yourserver.com/widget.html替换为您的widget.html页面所在的实际URL。
型
所有的工作与清单V3!谢谢!