簡體   English   中英

外部 Javascript 文件在 HTML 中不起作用

[英]External Javascript file not working in HTML

這是非常基本的,但我不確定為什么這已經停止工作。 我有以下 html 文件

<html>
<!doctype html>
<head>
  
   <script> document.write("this is working")</script>
   <p>this is working</p>

</head>
<body>
    <script src="test.js"></script>
</body>
</html>

以及與 html 文件位於同一文件夾中的以下 javascript 文件

document.write("Hello World!");

html 文檔中的腳本和 html 工作正常。 但是,不會執行外部 javascript 文件。 我在 js 文件中嘗試了各種腳本並對 html 文件進行了微小的修改。 在 Windows 10 計算機上。

請注意,這不是一個重復的問題,與此類似的其他問題略有不同。

編輯:瀏覽器控制台中的錯誤狀態“不允許加載本地源”這可能是 chrome 安全問題。 編輯:所有瀏覽器中的情況相同,因此似乎與 chrome 並不完全相關。 嘗試了我能找到的所有修復程序,但沒有奏效。

編輯:我嘗試在服務器上同時使用 node 和 python。

看起來您正在通過文件協議加載 HTML 文件(即雙擊文件並在瀏覽器中打開它)。 在這種情況下,出於安全考慮,瀏覽器可能會拒絕加載任何外部資源(在您的情況下為test.js腳本)。 通過 HTTP 協議加載 HTML。 它可以通過多種方式實現。

  • 如果您安裝了PHP ,只需在項目目錄中運行php -S localhost:80啟動本地服務器,您可以通過訪問http://localhost進行瀏覽。 默認情況下,它將為index.html頁面提供服務。
  • 如果您安裝了Node.js (因此也安裝了npm ),請全局安裝http-server ( npm i http-server -g )。 之后,在項目目錄中運行http-server 默認情況下,它將在端口8080上啟動本地服務器,因此您將能夠訪問http://localhost:8080並提供index.html

我嘗試了后一個,你上面的代碼工作得很好。

這不是一個解決方案,但如果有人遇到同樣的問題並且沒有產生更好的答案,它是一種解決方法。

獲取 chrome 擴展“網絡服務器”並打開它,而不是通過 node、python 等運行它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM