src(source)屬性指定圖片資源的網路位址(URL),而非本機檔案系統路徑。瀏覽器會對此 URL 發起 HTTP/HTTPS 請求下載圖片。
| 特性 | src (URL) | 本機路徑 |
|---|---|---|
| 格式 | https://example.com/img/logo.png/images/photo.jpg (絕對路徑)../assets/icon.svg (相對路徑) | C:\Users\Name\Pictures\photo.jpg/home/user/images/ |
| 解析主體 | 瀏覽器 / 網路堆疊 | 作業系統檔案系統 |
| 跨域存取 | 受同源策略 / CORS 限制 | 不適用(本機直接讀取) |
| 適用場景 | 網頁、Web App、API 回應 | 本機 HTML 檔案 file:// 協議 |
<!-- 同域絕對路徑 -->
<img src="/assets/logo.png" alt="Logo">
<!-- 相對路徑 -->
<img src="../images/banner.jpg" alt="Banner">
<!-- 外部 CDN -->
<img src="https://cdn.example.com/avatar/123.jpg" alt="Avatar">
<!-- Base64 Data URI (小圖示優化) -->
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUg..." alt="Icon">
<!-- 響應式圖片 (srcset) -->
<img src="small.jpg" srcset="medium.jpg 800w, large.jpg 1200w" alt="Responsive">
canvas.drawImage() 會污染畫布,導致 toDataURL() 失敗。Access-Control-Allow-Origin: *,且 <img crossorigin="anonymous">。Referer 標頭,非授權域名回傳 403/圖片置換。width/height 屬性預留空間,避免版面跳動 (CLS)。loading="lazy" 延遲載入非首屏圖片。<picture> 降級。Cache-Control: max-age=31536000, immutable。記住: src 永遠是「網路上的位置」,瀏覽器不認得你的 D 槽路徑。本機開發請架設靜態伺服器(如 npx serve、VS Code Live Server),勿直接雙擊 HTML 檔案。