H5項目部署:解決http協議下navigator.mediaDevices為undefined的問題
在H5項目中,使用HTTP協議訪問頁面時,navigator.mediaDevices 對象返回 undefined 是一個常見問題。即使iframe使用https協議,此問題依然可能存在。本文提供一種無需依賴localhost或file協議的解決方案。
問題描述: 根頁面使用HTTP協議,內嵌iframe使用HTTPS協議,但iframe內仍然無法訪問 navigator.mediaDevices。
步驟:
- 在谷歌瀏覽器地址欄輸入 chrome://flags/#unsafely-treat-insecure-origin-as-secure 并訪問。
- 找到 “Insecure origins treated as secure” 選項(該選項通常會高亮顯示)。
- 將該選項設置為“已啟用”。
- 在輸入框中輸入你的HTTP域名(例如:你的域名.com)。
- 重啟谷歌瀏覽器。
完成以上步驟后,谷歌瀏覽器將你的HTTP域名視為安全域名,從而允許訪問 navigator.mediaDevices。此方法經過驗證有效。 請注意,此方法修改了瀏覽器安全設置,僅在測試環境中使用,生產環境請謹慎操作,并優先考慮使用HTTPS協議。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END