网站介绍
这个网站提供一个名为 uaredirect
的 JavaScript 函数,用于根据用户的设备和浏览器类型,重定向到相应的页面。同时,还提供了一个辅助函数 isSubdomain
,用于判断一个域名是否是另一个域名的子域名。
功能
- 根据用户设备和浏览器类型,自动选择合适的页面进行重定向。
- 支持将当前页面的哈希值(#m)添加到重定向链接中。
- 支持自定义子域名,以便更好地满足特定场景的需求。
示例
uaredirect("https://www.example.com", "subdomain"); // 如果当前站点是 example.com,且用户访问的是 subdomain 或 example.com 下的任何子域,则重定向到 https://www.example.com/#m/<当前页面URL>
实现原理
- 首先检查页面中是否存在 id 为 “bdmark” 的元素,如果存在则不进行重定向,直接返回。
- 使用
window.location.host
获取当前站点的主域名,window.location.href
获取当前页面的完整 URL。
- 调用
isSubdomain
函数判断目标域名是否为当前主域名的子域名,如果是,则将目标 URL 设置为当前站点的主域名加上 “/#m/” 和当前页面的 URL。
- 如果不是子域名,则将目标 URL 设置为当前页面的 URL。
- 对于 iPhone、iPod、Android 等移动设备以及 iOS 系统,使用
location.replace
方法进行重定向。
- 如果在执行过程中发生异常,捕获并处理。