在網頁中使用 JavaScript
透過利用 JavaScript 將你的網頁提升到一個新的水平。在這篇文章中學習如何直接從你的 HTML 文件觸發 JavaScript。
| 先決條件 | 你需要熟悉如何 建立基本的 HTML 文件. |
|---|---|
| 目標 | 學習如何在你的 HTML 檔案中觸發 JavaScript,以及學習最重要的是保持 JavaScript 可訪問性的最佳實踐。 |
關於 JavaScript
JavaScript 是一種程式語言,主要用於客戶端使網頁互動。你*可以*建立沒有 JavaScript 的驚人網頁,但 JavaScript 打開了全新的可能性。
注意:在這篇文章中,我們將討論你需要讓 JavaScript 生效的 HTML 程式碼。如果你想學習 JavaScript 本身,你可以從我們的 JavaScript 基礎 文章開始。如果你已經瞭解了一些關於 JavaScript 的知識,或者如果你有其他程式語言的背景,我們建議你直接進入我們的 JavaScript 指南.
如何從 HTML 觸發 JavaScript
在瀏覽器中,JavaScript 本身不會執行任何操作。你從你的 HTML 網頁中執行 JavaScript。要從 HTML 內部呼叫 JavaScript 程式碼,你需要使用 <script> 元素。有兩種使用script 的方法,取決於你是連結到外部指令碼還是直接在你的網頁中嵌入指令碼。
連結外部指令碼
在 HTML 中編寫 JavaScript
你也可以在 <script> 標籤之間新增 JavaScript 程式碼,而不是提供 src 屬性。
html
<script>
window.addEventListener("load", () => {
console.log("This function is executed once the page is fully loaded");
});
</script>
當你只需要一小段 JavaScript 程式碼時,這很方便,但如果你將 JavaScript 儲存在單獨的檔案中,你會發現它更容易
- 專注於你的工作
- 編寫自包含的 HTML
- 編寫結構化的 JavaScript 應用程式
使用可訪問的指令碼
可訪問性是任何軟體開發中的一個重大問題。如果你明智地使用 JavaScript,它可以使你的網站更具可訪問性,或者如果你不加註意地使用指令碼,它可能會成為一場災難。為了讓 JavaScript 為你服務,瞭解一些新增 JavaScript 的最佳實踐是值得的
- 使所有內容都以(結構化)文字形式提供。儘可能依賴 HTML 來建立你的內容。例如,如果你實現了一個漂亮的 JavaScript 進度條,請確保在 HTML 中使用匹配的文字百分比來補充它。同樣,你的下拉選單應該被結構化為 無序列表 的 連結.
- 使所有功能都能從鍵盤訪問。
- 讓使用者以邏輯順序透過 Tab 鍵瀏覽所有控制元件(例如,連結和表單輸入)。
- 如果你使用指標事件(如滑鼠事件或觸控事件),請使用鍵盤事件複製該功能。
- 只使用鍵盤測試你的網站。
- 不要設定或猜測時間限制。使用鍵盤導航或聽取內容朗讀需要額外的時間。你幾乎不可能預測使用者或瀏覽器完成一個過程(特別是非同步操作,如載入資源)需要多長時間。
- 讓動畫微妙且簡短,不要閃爍。閃爍很煩人,可能會引起癲癇發作。此外,如果動畫持續超過幾秒鐘,請給使用者一個取消動畫的方法。
- 讓使用者發起互動。這意味著,不要自動更新內容、重定向或重新整理。不要在沒有警告的情況下使用輪播或顯示彈出視窗。
- 為沒有 JavaScript 的使用者制定一個備用方案。人們可能會關閉 JavaScript 以提高速度和安全性,使用者經常會遇到阻止載入指令碼的網路問題。此外,第三方指令碼(廣告、跟蹤指令碼、瀏覽器擴充套件)可能會破壞你的指令碼。
- 至少,使用
<noscript>留下一條簡短的訊息,例如:<noscript>要使用本網站,請啟用 JavaScript。</noscript> - 理想情況下,儘可能使用 HTML 和伺服器端指令碼複製 JavaScript 功能。
- 如果你只是在尋找簡單的視覺效果,CSS 通常可以更直觀地完成這項工作。
- 由於幾乎每個人都確實啟用了 JavaScript,因此
<noscript>並不是編寫不可訪問指令碼的藉口。
- 至少,使用