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

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

H5項目部署后,navigator.mediaDevices無法獲取視頻媒體設備的解決方法

在H5應用部署過程中,開發者經常遇到navigator.mediaDevices返回undefined的情況,尤其是在http頁面嵌套https iframe的場景下,即使在iframe內也無法獲取媒體權限。 問題通常出現在HTTP根頁面嵌入HTTPS iframe的結構中,localhost、HTTPS和file://環境下的解決方案在此無效。

解決方法:修改chrome瀏覽器安全策略。

步驟如下:

  1. 訪問Chrome瀏覽器實驗性功能頁面: 在地址欄輸入chrome://flags/#unsafely-treat-insecure-origin-as-secure 并回車。

  2. 啟用“將不安全來源視為安全”: 找到“將不安全來源視為安全”選項(Insecure origins treated as secure),將其設置為“已啟用”。

  3. 添加HTTP域名: 在該選項下方的文本框中,輸入你的HTTP域名。

  4. 重啟瀏覽器: 完成設置后,重啟Chrome瀏覽器使更改生效。

通過以上步驟,你的HTTP頁面應該能夠通過navigator.mediaDevices正常訪問媒體設備了。此方法經驗證有效。 注意: 此方法修改了瀏覽器安全策略,僅用于開發和測試環境,不建議在生產環境中使用,因為它會降低安全性。 生產環境下,應采用HTTPS協議部署整個應用。

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