繁体   English   中英

在firefox中,如何在本地文件(例如,file:/// C:/play/my.html)中运行javascript

[英]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 该文件位于JSFiddle上的https://jsfiddle.net/PatS2265/7r4j6ewa/ (但该代码在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元标记失败。

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>

搜索次数

我搜索了如何解决此问题,并遇到了禁用Content-Security-Policy的解决方案。

  • 在Firefox中禁用内容安全性 这对我有用,但是处理起来很繁琐,所以我想知道如何在我的文件中做到这一点。

其他有用的结果是:

我刚刚在StackOverflow中找到了用于内容安全策略的标签,所以现在开始搜索。

好吧,我没有早点得到这个让我有些尴尬。 我不得不赞扬@Nickolay的评论,他没有看到此问题,并询问这可能是AddOn,还是我已经在新的配置文件中尝试过此问题,所以我都选中了这两个。

我使用about:profiles创建了一个干净的配置about:profiles ,然后单击Create a New Profile ,当我在该配置文件中运行时,它起作用了!

接下来,我意识到我启用了Add-On NoScript ,这阻止了Javascript在本地文件( file:///C:/ )上运行!

NoScript中启用本地文件后,问题就消失了。
Doh(手打额头)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM