解決 Godot 如何開啟匯出的 html5 package

Posted by Wayne X.Y. on Tuesday, March 3, 2026

解決 Godot 如何開啟匯出的 html5 package

第一次嘗試透過 Godot 做遊戲 (目前使用的版本為 Godot 4.6),想說先測試看看匯出成網頁。如果直接打開匯出的 .html 檔案,會遇到 load failed 的問題。這篇文章記錄了如何透過建立一個簡單的 Python 伺服器來解決這個狀況。

畫好簡單的地圖後,測試匯出 HTML5 package

直接打開 html 檔案


🛠️ 解決方法

這個問題主要是因為現代瀏覽器的安全性限制(特別是針對 SharedArrayBuffer 等跨來源隔離機制),導致本地端直接開啟檔案無法成功載入 Godot 的遊戲引擎環境。

參考官方的 Github Issue 討論:godotengine/godot#69020

要解決這個問題,我們需要建立一個提供 Cross-Origin-Opener-PolicyCross-Origin-Embedder-Policy 的本地伺服器。具體步驟如下:

1. 建立伺服器腳本

在匯出的遊戲與 .html 檔案的同一層資料夾內,建立一個名為 server.py 的檔案。

2. 寫入 Python 程式碼

將以下內容貼入 server.py 當中,這會啟動一個簡單的 HTTP 伺服器,並幫我們補上跨網域資源共用 (CORS) 必要的 Headers:

import http.server
import socketserver

PORT = 8000

class MyHTTPRequestHandler(http.server.SimpleHTTPRequestHandler):
    def end_headers(self):
        self.send_header('Cross-Origin-Opener-Policy', 'same-origin')
        self.send_header('Cross-Origin-Embedder-Policy', 'require-corp')
        super().end_headers()

Handler = MyHTTPRequestHandler

with socketserver.TCPServer(("", PORT), Handler) as httpd:
    print(f"Serving at port {PORT}")
    httpd.serve_forever()

3. 執行伺服器

打開終端機 (terminal),切換到該資料夾目錄下,執行剛剛建立的 server.py

python server.py

4. 開啟遊戲

最後,在打開你的網頁瀏覽器,輸入 http://127.0.0.1:8000/ ,就可以看到遊戲正確載入了!


🔮 What’s Next?

成功在本地端測試完網頁版匯出後,接下來就可以更放心地繼續開發遊戲內容!