移动端加载指定视频页面时弹窗提醒失效,求问题排查
问题排查与修复方案
核心错误:URL判断使用了非标准属性
你代码里的document.url并非浏览器标准API,多数现代浏览器不支持该属性,导致第一个if条件永远不成立,后续的移动端检测逻辑根本没有执行。正确获取当前页面URL的方式是使用window.location.href,如果只需要匹配页面路径(不考虑域名),使用window.location.pathname会更灵活(后续域名变更时无需修改代码)。
优化后的修复代码
window.onload = function () { // 用pathname判断页面,适配域名变更场景 if (window.location.pathname === '/videos.html') { // 简化移动端检测的正则表达式 const isMobileDevice = /Android|webOS|iPhone|iPad|iPod|BlackBerry|Windows Phone/i.test(navigator.userAgent); if (isMobileDevice) { console.log("检测到移动端设备"); alert("This page may not work properly on your device."); } else { console.log("检测到桌面端设备"); } } else { console.log("当前非videos页面,跳过检测"); } };
额外验证建议
- 打开videos页面的浏览器控制台(F12),查看是否有对应日志输出,确认脚本是否正确加载执行
- 如果页面URL带有端口、参数等后缀,使用
window.location.href全匹配时需要写完整路径,而pathname可以忽略这些额外内容
内容的提问来源于stack exchange,提问作者ausomecodes
相关产品推荐
相关产品推荐

