DevToolPal
繁

HTML、CSS 與 JS 線上執行

撰寫 HTML、CSS 和 JavaScript 並立即看到結果,附主控台、分享連結和 HTML 下載。程式碼在瀏覽器的沙箱中執行。

本機處理,不會上傳

程式碼

預覽

程式碼在本頁的沙箱框架中執行,無法讀取本站內容或你的其他分頁。

主控台

console.log() 的輸出和錯誤會顯示在這裡。

    功能簡介

    這個線上執行環境是一個用於前端實驗的小型線上程式碼編輯器。在三個具語法醒目提示的分頁中撰寫 HTML、CSS 和 JavaScript,預覽會隨著輸入即時更新,就像 CodePen 或 JSFiddle,但不需要帳號。內建的主控台會顯示 console.log() 的輸出和錯誤,並標出 JavaScript 中的行號,不用開啟開發人員工具也能除錯。因此在手機或借來的電腦上也很好用。

    你可以用它試試 CSS 版面、為同事重現一個 bug、測試從 Stack Overflow 找到的程式碼片段、教導初學者,或快速勾勒一個原型。

    使用方法

    1. 在 HTML、CSS 和 JS 分頁中輸入程式碼,或按 範例 從一個小型計數器示範開始。分頁上的圓點表示該分頁含有程式碼。
    2. 停止輸入 0.6 秒後,預覽會自動執行。指令碼較重時可以關閉 自動執行,準備好後再按 執行 或 Ctrl+Enter。
    3. 在 主控台 中查看日誌、警告和錯誤,最新的一行總在最上面。物件、陣列、Map、Set 和 DOM 元素都會以精簡易讀的形式顯示。
    4. 按 分享 把程式碼傳給別人。按 下載 ZIP 會把 index.html、style.css、script.js 分成三個檔案打包,可以直接放進實際專案;按 下載 HTML 把所有內容存成一個 index.html 檔案,任何瀏覽器都能開啟。

    你的程式碼會保留在這個瀏覽器中,回來時依然還在。Tab 鍵會以兩個空格縮排。

    範例

    HTML:

    <button id="go">Click me</button>

    JavaScript:

    document.querySelector('#go').addEventListener('click', () => {
      console.log('clicked at', new Date().toLocaleTimeString())
    })

    每點一次,主控台就會多一行。如果名稱拼錯了,主控台會顯示紅色的 ReferenceError,並標出它在 JS 分頁中發生的行號。

    運作原理

    三個面板的內容會合併成一份 HTML 文件,並載入到帶有 sandbox 屬性的 iframe 中,因此程式碼無法讀取本站的 Cookie 或儲存空間。框架中加入的一小段指令碼會把 console 呼叫和未捕捉的錯誤轉送給頁面,而且沒有任何內容會離開你的裝置。

    常見問題

    › 我的程式碼會被上傳或儲存在伺服器上嗎?

    不會。程式碼在你的瀏覽器中執行,只會儲存在這個瀏覽器的本機儲存空間,下次開啟時還在。分享連結會把程式碼放在連結本身裡,伺服器上不會儲存任何東西。

    › 在這裡執行程式碼安全嗎?

    預覽在沙箱化的 iframe 中執行,無法存取本站、本站的儲存空間或你的其他分頁。不過指令碼仍然可以做一般網頁能做的任何事,例如顯示警告框或請求其他網站,所以只執行你看得懂的程式碼。

    › 可以使用 npm 套件或函式庫嗎?

    可以,在 HTML 面板中加入來自 cdnjs、jsDelivr 或 unpkg 等 CDN 的 script 或樣式表標籤即可,例如指向某個函式庫 .min.js 檔案的 script 標籤。單純的 ES 模組可以搭配 script type="module" 和完整的 CDN 網址使用。

    › 可以貼上完整的 HTML 頁面嗎?

    可以。如果 HTML 面板中是含有 doctype、html、head 或 body 標籤的完整文件,你的 CSS 會加到它的 head 裡,JavaScript 則加在 body 結束標籤之前。

    › 分享連結是怎麼運作的?

    工具上方的「分享」按鈕會把三個面板的內容都放進連結的 # 號後面。任何人開啟它都會看到相同的程式碼。程式越長,連結也越長,大型專案請使用「下載 ZIP」或「下載 HTML」。