gpt4 book ai didi

javascript - empythoned 中的 import 语句在 chrome 扩展中不起作用

转载 作者:行者123 更新时间:2023-11-28 02:14:29 24 4
gpt4 key购买 nike

我正在使用Empythoned生成的javascript创建一个 chrome extension 。 Python import 在 Chrome 扩展中不起作用,而在 Web 应用程序中却起作用。这是demo .

示例代码:

网络应用

输入

import collections
print collections

输出

<module 'collections' from '/lib/python2.7/collections.py'>

Chrome 扩展程序

输入

import collections

输出

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/lib/python2.7/collections.py", line 8, in <module>
from _collections import deque, defaultdict
ImportError: Could not evaluate dynamic lib: //lib/python2.7/_collections.so

这与 chrome 扩展处理 JS 有关吗?

最佳答案

Empythoned 正在尝试 eval() 代码,而 Chrome 默认限制 eval() 在扩展中使用。

有关内容安全策略的更多详细信息可以在此处找到:

https://developer.chrome.com/extensions/contentSecurityPolicy

如果您将此行放宽安全策略添加到扩展程序的 manifest.json 中,您应该能够导入这些模块:

"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'"

正如文档警告的那样,eval() 是一个臭名昭著的 XSS 攻击媒介,因此在扩展程序中允许使用它时应该小心。

关于javascript - empythoned 中的 import 语句在 chrome 扩展中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16605023/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com