簡體   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