在 firefox 中,我如何 运行 javascript 在本地文件中,例如 file:///C:/play/my.html
In firefox, how can I run javascript in local file e.g., file:///C:/play/my.html
我想尝试 Javascript 并创建了一个我在 Firefox (68.0.1) file:///C:/play/my.html
中打开的文件。该文件位于 https://jsfiddle.net/PatS2265/7r4j6ewa/ 的 JSFiddle 上(但代码在 JSFiddle 中有效)。
当我在 Firefox 中打开此文件时,控制台出现以下错误:
内容安全策略:该页面的设置阻止了内联资源的加载(“script-src”)。
我查看了如何解决这个问题并尝试添加:
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval' http://www.google.com">
但这并没有解决问题。该文件如下所示(我尝试添加 Content-Security-Policy 元标记失败。
内容安全策略的正确语法是什么?
注意:在 Chrome (v76.0.3809.100) 中,这个文件可以正常工作,所以我现在可以解决这个问题。
<!DOCTYPE html>
<html>
<head>
<title>My Async Test</title>
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval' http://www.google.com">
<meta charset="UTF-8" />
</head>
<body>
<script>
function clickMe() {
f().then(alert);
}
async function f() {
return 1;
}
</script>
Just testing
<button type="button" onclick="clickMe()">Run Async Function</button>
</body>
</html>
搜索
我搜索了如何解决这个问题并找到了禁用内容安全策略的解决方案。
- Disabling Content Security 在 Firefox 中。这对我有用,但操作起来很笨重,所以我想知道如何在我的文件中执行此操作。
其他有用的结果是:
How can I read local files from JavaScript with Firefox
我刚刚在 Whosebug 中找到了内容安全策略的标签,所以我现在开始搜索。
好吧,我觉得有点尴尬,因为我没有早点得到这个。
我必须感谢@Nickolay 评论说他没有看到这个问题并询问它是否可能是一个插件,或者我是否在新的配置文件中尝试过这个,所以我检查了两个。
我使用 about:profiles
创建了一个干净的配置文件并单击 Create a New Profile
,当我在该配置文件中 运行 时它起作用了!
接下来我意识到我启用了附加组件 NoScript,这阻止了本地文件上的 Javascript 来自 运行 (file:///C:/
)!
在 NoScript 中启用本地文件后,问题就消失了。
嘟(手打额头)
我想尝试 Javascript 并创建了一个我在 Firefox (68.0.1) file:///C:/play/my.html
中打开的文件。该文件位于 https://jsfiddle.net/PatS2265/7r4j6ewa/ 的 JSFiddle 上(但代码在 JSFiddle 中有效)。
当我在 Firefox 中打开此文件时,控制台出现以下错误:
内容安全策略:该页面的设置阻止了内联资源的加载(“script-src”)。
我查看了如何解决这个问题并尝试添加:
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval' http://www.google.com">
但这并没有解决问题。该文件如下所示(我尝试添加 Content-Security-Policy 元标记失败。
内容安全策略的正确语法是什么?
注意:在 Chrome (v76.0.3809.100) 中,这个文件可以正常工作,所以我现在可以解决这个问题。
<!DOCTYPE html>
<html>
<head>
<title>My Async Test</title>
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval' http://www.google.com">
<meta charset="UTF-8" />
</head>
<body>
<script>
function clickMe() {
f().then(alert);
}
async function f() {
return 1;
}
</script>
Just testing
<button type="button" onclick="clickMe()">Run Async Function</button>
</body>
</html>
搜索
我搜索了如何解决这个问题并找到了禁用内容安全策略的解决方案。
- Disabling Content Security 在 Firefox 中。这对我有用,但操作起来很笨重,所以我想知道如何在我的文件中执行此操作。
其他有用的结果是:
How can I read local files from JavaScript with Firefox
我刚刚在 Whosebug 中找到了内容安全策略的标签,所以我现在开始搜索。
好吧,我觉得有点尴尬,因为我没有早点得到这个。 我必须感谢@Nickolay 评论说他没有看到这个问题并询问它是否可能是一个插件,或者我是否在新的配置文件中尝试过这个,所以我检查了两个。
我使用 about:profiles
创建了一个干净的配置文件并单击 Create a New Profile
,当我在该配置文件中 运行 时它起作用了!
接下来我意识到我启用了附加组件 NoScript,这阻止了本地文件上的 Javascript 来自 运行 (file:///C:/
)!
在 NoScript 中启用本地文件后,问题就消失了。
嘟(手打额头)