跨瀏覽器測試- 學習該如何開發Web | MDN

文章推薦指數: 80 %
投票人數:10人

在這裡,我們將關注可能遇上的,常見跨瀏覽器HTML 與CSS 程式相關問題,還有能預防或修復淺在問題的工具。

這裡面會有語法標示(linting code)、CSS 前輟 ... SkiptomaincontentSkiptosearchSkiptoselectlanguage學習該如何開發Web工具與測試跨瀏覽器測試ArticleActions正體中文(繁體)ThispagewastranslatedfromEnglishbythecommunity.LearnmoreandjointheMDNWebDocscommunity.先決條件指引RelatedTopics 全新手請從這開始! Web入門 Web概述 安裝基本軟體 自己的網站會是什麼樣子? 處理檔案 HTML基礎概念 CSS基礎概念 JavaScript基礎概念 發佈自己的網站 Web運作的方式 HTML—架構Web HTML介紹 HTML概述 HTML入門 標題裡是什麼?HTML中的後設資料(Metadata) HTML文字基礎概念 建立超連結 進階文字格式 文件與網站架構 HTML除錯 親和度:設個字母 親和度:架構出具備內容的網頁 多媒體與嵌入 多媒體與嵌入的概述 HTML中的圖片 視訊與音訊內容 從物件到iframe—其他嵌入技巧 為Web新增向量圖 適應性圖片 親和度:Mozilla形象頁面 HTML表格 HTML表格概述 HTML表格基礎 HTMLtableadvancedfeaturesandaccessibility Assessment:Structuringplanetdata CSS—設計Web的風格 初探CSS 初探CSS(概述) CSS是什麼? CSS入門 HowCSSisstructured CSS怎麼運作 Assessment:Stylingabiographypage CSS組件 CSSbuildingblocksoverview Cascadeandinheritance CSSselectors Theboxmodel Backgroundsandborders Handlingdifferenttextdirections Overflowingcontent CSSvaluesandunits SizingitemsinCSS Images,media,andformelements Stylingtables DebuggingCSS OrganizingyourCSS Assessment:FundamentalCSScomprehension Assessment:Creatingfancyletterheadedpaper Assessment:Acool-lookingbox 樣式化文字 樣式化文字概述 基礎的文字與字型樣式化 樣式化列表 樣式化連結 Web字型 親合度:設定社區大學首頁的版面 CSS版面配置 CSS版面配置概述 IntroductiontoCSSlayout NormalFlow 彈性區塊 格線 浮動 定位 Multiple-columnlayout Responsivedesign Beginner'sguidetomediaqueries Legacylayoutmethods Supportingolderbrowsers Assessment:Fundamentallayoutcomprehension JavaScript—動態的用戶端指令 JavaScript第一步 JavaScript第一步概述 什麼是JavaScript? 初次接觸JavaScript 出了什麼問題?JavaScript疑難排解 儲存你所需的資訊—變數 JavaScript基礎概念—數字與運算子 處理文字—JavaScript中的字串 有用的字串函式 陣列 親合度:傻瓜故事產生器 JavaScript基礎要件 JavaScript基礎要件概述 於程式碼中決策—條件 程式碼迴圈 函式—可重複使用的程式碼區塊 建立自己的函式 函式回傳值 事件介紹 親合度:圖庫 JavaScript物件介紹 JavaScript物件概述 物件基礎概念 物件原型 Object-orientedprogrammingconcepts ClassesinJavaScript 使用JSON資料 物件建構實作 親合度:為彈跳球展示新增功能 非同步的JavaScript AsynchronousJavaScriptoverview IntroducingasynchronousJavaScript Howtousepromises Implementingapromise-basedAPI Introducingworkers Assessment:sequencinganimations 客戶端webAPIs 客戶端webAPIs IntroductiontowebAPIs 文件操作 Fetchingdatafromtheserver ThirdpartyAPIs Drawinggraphics VideoandaudioAPIs Client-sidestorage 網頁表單-與使用者資料合作 核心的表單學習途徑 網頁表單概述 Yourfirstform 如何建構網頁表單 Basicnativeformcontrols TheHTML5inputtypes Otherformcontrols Stylingwebforms Advancedformstyling UIpseudo-classes Client-sideformvalidation Sendingformdata 深入網頁表單 Howtobuildcustomformcontrols SendingformsthroughJavaScript CSSpropertycompatibilitytableforformcontrols 無障礙網頁—每個人都可以使用的網頁 無障礙網頁指南 無障礙網頁概述 何謂無障礙網頁? HTML:Agoodbasisforaccessibility CSSandJavaScriptaccessibilitybestpractices WAI-ARIA基礎 Accessiblemultimedia 行動裝置上的無障礙 無障礙網頁評估 Assessment:Accessibilitytroubleshooting 工具與測試 Client-sidewebdevelopmenttools Client-sidewebdevelopmenttoolsindex Client-sidetoolingoverview Commandlinecrashcourse Packagemanagementbasics Introducingacompletetoolchain Deployingourapp 介紹前端框架 前端框架簡介 Frameworkmainfeatures React GettingstartedwithReact BeginningourReacttodolist ComponentizingourReactapp Reactinteractivity:Eventsandstate Reactinteractivity:Editing,filtering,conditionalrendering AccessibilityinReact Reactresources Ember GettingstartedwithEmber Emberappstructureandcomponentization Emberinteractivity:Events,classesandstate EmberInteractivity:Footerfunctionality,conditionalrendering RoutinginEmber Emberresourcesandtroubleshooting Vue 開始學Vue CreatingourfirstVuecomponent RenderingalistofVuecomponents Addinganewtodoform:Vueevents,methods,andmodels StylingVuecomponentswithCSS UsingVuecomputedproperties Vueconditionalrendering:editingexistingtodos FocusmanagementwithVuerefs Vueresources Svelte Svelte入門 StartingourSvelteTodolistapp DynamicbehaviorinSvelte:workingwithvariablesandprops ComponentizingourSvelteapp AdvancedSvelte:Reactivity,lifecycle,accessibility WorkingwithSveltestores TypeScriptsupportinSvelte Deploymentandnextsteps Angular Angular新手入門 開始開發我們的Angular待辦事項應用程式 使用樣式點綴我們的Angular應用程式 建立一個item元件 篩選我們的待辦事項項目 建構Angular應用程式與更多資源 GitandGitHub GitandGitHub概述 HelloWorld GitHandbook ForkingProjects Aboutpullrequests MasteringIssues 跨瀏覽器測試 跨瀏覽器測試概述 跨瀏覽器測試介紹 測試執行策略 處理常見的HTML與CSS問題 處理常見的JavaScript問題 處理常見的親合度問題 建置功能偵測 自動化測試介紹 設定自己的自動化測試環境 伺服端網站程式設計 第一步 第一步概述 伺服端介紹 用戶端概述 伺服端網路框架 網站安全 Django網站框架(Python) Django網站框架(Python)概述 介紹 設定開發環境 線上教學:本地圖書館網站 線上教學2:建立網站骨架 線上教學3:使用模型 線上教學4:Django管理網站 線上教學5:建立我們的首頁 線上教學6:泛型清單與細節檢視 線上教學7:會話(Sessions)框架 線上教學8:使用者授權與許可 線上教學9:搭配表單 線上教學10:測試Django的WebApp 線上教學11:佈署Django至產品 WebApp安全性 親合度:DIY迷你部落格 Express網站框架(node.js/JavaScript) Express網站框架(Node.js/JavaScript)概述 Express/Node介紹 設定Node(Express)的開發環境 Express教學1:本地圖書館網站 Express教學2:建立骨架網站 Express教學3:使用資料庫(Mongoose) Express教學4:路由與控制器 Express教程5:呈現圖書館的資料 Express教學6:使用表單 Express教學7:佈署到正式環境 更多資源 常見問題 HTML問題 CSS問題 JavaScriptquestions Web的運作方式 工具與設定 設計與親合度 先決條件指引跨瀏覽器測試 此模組專注於測試網路專案的跨瀏覽器領域。

在此,我們會辨認你的目標閱聽者(例如你最該對什麼樣的用戶、瀏覽器、還有設備操心?)如何做測試、不同類型的程式碼會碰上的主要問題、如何解決/減輕這些問題、哪些工具最能幫你測試和修復問題、還有如何用自動化加速測試。

先決條件在使用文章所述的工具前,你應該確實理解HTML、CSS、JavaScript核心語言的基本。

指引 跨瀏覽器測試介紹(en-US) 這篇文章將透過給予跨瀏覽器測試概覽重點、回答諸如「何謂跨瀏覽器測試?」、「你最有可能碰上什麼問題?」、「測試、找出、並解決錯誤的主要方法有哪些?」的問題,以作為模組的開頭。

測試進行策略(en-US) 接著,我們將針對測試執行深入研究、確定目標受眾(像是什麼瀏覽器、設備、或其他需要確認的地方)、低測試策略(lowfitestingstrategies,讓自己取得需要的設備、虛擬機、還有adhoc測試)、進階測試策略(自動化以及使用專用工具)、還有用戶群組間的測試。

處理常見的HTML與CSS問題(en-US) 在這裡,我們將關注可能遇上的,常見跨瀏覽器HTML與CSS程式相關問題,還有能預防或修復淺在問題的工具。

這裡面會有語法標示(lintingcode)、CSS前輟處理、使用瀏覽器工具找出問題、使用polyfill支援瀏覽器、處理響應式網頁問題...等等。

處理常見的JavaScript問題(en-US) 我們會開始觀察常見的跨瀏覽器JavaScript程式問題,以及修復的辦法。

使用瀏覽器工具追蹤並解決問題、使用Polyfill與函式庫解決問題、在老舊瀏覽器實作新功能...等等。

處理常見的無障礙問題(en-US) 我們要關注無障礙網頁,並提供常見問題的資訊、如何簡易測試、還有使用檢測/自動化工具,以排查無障礙問題。

功能檢測實做(en-US) 功能檢測牽涉到確定瀏覽器是否支持某個程式碼,是否依賴他執行不同的程式碼,以便部分瀏覽器能提供可執行的體驗,而不是直接崩潰/錯誤。

本文詳細介紹如何編寫自己的簡單功能檢測,如何使用函式庫來加速實現,以及用於功能檢測的本機功能,例如@supports。

自動化測試介紹 每天在好幾個瀏覽器與設備上,運行手動測試數次,既乏味又浪費時間。

要有效率的處理這種事,就要開始熟悉自動化工具。

我們會在這篇文章看看有哪些可用的工具、如何使用它們、以及如何使用如SauceLabs與BrowserStack的商業化瀏覽器測試程式之基本講述。

設定你的自動化測試環境(en-US) 我們會在這篇文章教你如何安裝自己的自動化測試環境、並透過Selenium/WebDriver以及Node的測試函式庫如selenium-webdriver來跑你的測試。

我們還會講測試環境如何與上篇文章所講述的商業軟體做整合。

Foundaproblemwiththispage?EditonGitHubSourceonGitHubReportaproblemwiththiscontentonGitHubWanttofixtheproblemyourself?SeeourContributionguide.Lastmodified:2022年5月28日,byMDNcontributors



請為這篇文章評分?