H5部署后,如何解決頁面video媒體獲取navigator.mediaDevices為undefined的問題?

H5部署后,如何解決頁面video媒體獲取navigator.mediaDevices為undefined的問題?

H5項目部署:解決http協議下navigator.mediaDevices為undefined的問題

在H5項目中,使用HTTP協議訪問頁面時,navigator.mediaDevices 對象返回 undefined 是一個常見問題。即使iframe使用https協議,此問題依然可能存在。本文提供一種無需依賴localhost或file協議的解決方案。

問題描述: 根頁面使用HTTP協議,內嵌iframe使用HTTPS協議,但iframe內仍然無法訪問 navigator.mediaDevices。

解決方案: 通過修改谷歌瀏覽器安全策略解決此問題。

步驟:

  1. 谷歌瀏覽器地址欄輸入 chrome://flags/#unsafely-treat-insecure-origin-as-secure 并訪問。
  2. 找到 “Insecure origins treated as secure” 選項(該選項通常會高亮顯示)。
  3. 將該選項設置為“已啟用”。
  4. 在輸入框中輸入你的HTTP域名(例如:你的域名.com)。
  5. 重啟谷歌瀏覽器

完成以上步驟后,谷歌瀏覽器將你的HTTP域名視為安全域名,從而允許訪問 navigator.mediaDevices。此方法經過驗證有效。 請注意,此方法修改了瀏覽器安全設置,僅在測試環境中使用,生產環境請謹慎操作,并優先考慮使用HTTPS協議。

? 版權聲明
THE END
喜歡就支持一下吧
點贊8 分享