iT邦幫忙

2025 iThome 鐵人賽

DAY 13
0

學習目標

  • 理解 <iframe> 的用途與限制
  • 學會嵌入其他網站內容(如 Google Map、YouTube)
  • 認識 widthheightsrctitle 屬性
  • 了解安全性與替代方案(避免濫用 iframe)
  • 嘗試做一個簡單的地圖或影片嵌入

重點觀念(把外部世界拉進網頁)

  • iframe 是內嵌頁面:能在網頁中載入另一個獨立文件。
  • 常見應用:地圖、影片、文件嵌入。
  • 注意安全性:有些網站禁止被 iframe 引入(X-Frame-Options)。
  • title 屬性:對無障礙設計很重要,能告訴使用者 iframe 的內容。
  • 避免濫用:iframe 會增加載入負擔,能用 API 的情況盡量不用。

iframe 示範

<body>
  <h1>iframe 嵌入內容示範</h1>

  <h2>YouTube 影片</h2>
  <iframe width="560" height="315" 
          src="https://www.youtube.com/embed/dQw4w9WgXcQ" 
          title="YouTube video player"
          frameborder="0"
          allowfullscreen>
  </iframe>

  <h2>Google 地圖</h2>
  <iframe 
          src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3..."
          width="600" height="450"
          style="border:0;"
          allowfullscreen=""
          loading="lazy"
          referrerpolicy="no-referrer-when-downgrade"
          title="Google Map">
  </iframe>
</body>

image

常見錯誤與修正

  • ❌ 忘記加 title → ✅ 提供描述,提升無障礙體驗
  • ❌ 把 iframe 當主要排版工具 → ✅ iframe 僅適合嵌入外部內容
  • ❌ 濫用過多 iframe → ✅ 會降低效能,增加載入時間
  • ❌ 直接嵌入不允許外部載入的網站 → ✅ 確認來源是否支援 iframe

今日小挑戰(可交付)

  • [ ] 嵌入一段 YouTube 影片
  • [ ] 嵌入一個 Google Map
  • [ ] 嘗試為 iframe 加上 title 說明
  • [ ] 修改寬高,讓版面更適合自己的頁面
  • [ ] 測試移除 allowfullscreen,觀察差異

DAY13 心得

今天學到的 <iframe> 讓我能把其他網站的內容直接帶進來,像是影片或地圖,讓網頁的資訊更完整。以前看到別人的網站有嵌入 YouTube 或 Google Map,以為很複雜,結果發現只要一段 iframe 程式碼就能搞定。

不過我也理解到 iframe 的限制與風險。雖然它方便,但會影響效能,而且有些網站根本不允許被嵌入。所以使用時要特別注意,不要什麼東西都塞進 iframe

這次的練習讓我覺得 iframe 就像「傳送門」,能快速把外部世界搬到自己網頁裡,但也要知道何時該用、何時該避免。未來如果能結合 API,也許會更靈活。


上一篇
Day 12 - 多媒體元素的魔法
下一篇
Day 14 - 語意化標籤的魔法
系列文
程式煉金術:Bug退散!前端驅魔記14
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言