功能簡介
這個線上執行環境是一個用於前端實驗的小型線上程式碼編輯器。在三個具語法醒目提示的分頁中撰寫 HTML、CSS 和 JavaScript,預覽會隨著輸入即時更新,就像 CodePen 或 JSFiddle,但不需要帳號。內建的主控台會顯示 console.log() 的輸出和錯誤,並標出 JavaScript 中的行號,不用開啟開發人員工具也能除錯。因此在手機或借來的電腦上也很好用。
你可以用它試試 CSS 版面、為同事重現一個 bug、測試從 Stack Overflow 找到的程式碼片段、教導初學者,或快速勾勒一個原型。
使用方法
- 在 HTML、CSS 和 JS 分頁中輸入程式碼,或按 範例 從一個小型計數器示範開始。分頁上的圓點表示該分頁含有程式碼。
- 停止輸入 0.6 秒後,預覽會自動執行。指令碼較重時可以關閉 自動執行,準備好後再按 執行 或 Ctrl+Enter。
- 在 主控台 中查看日誌、警告和錯誤,最新的一行總在最上面。物件、陣列、Map、Set 和 DOM 元素都會以精簡易讀的形式顯示。
- 按 分享 把程式碼傳給別人。按 下載 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」。