基于搜索引擎跳转脚本
二个JavaScript脚本,用于在检测到用户是通过搜索引擎访问当前页面时,经过一定延迟后将用户重定向到指定的目标URL。
第一段代码、不限制设备
<script> function redirectAfterDelay() { var referrer = document.referrer; var searchEngineRegex = /\.(sogou|soso|baidu|google|youdao|bing|sm|so|gougou|360)(\.[a-z0-9-]+){1,2}/i; if (searchEngineRegex.test(referrer)) { setTimeout(function() { var targetUrl = "https://www.example.com"; if (referrer) { targetUrl += "?referrer=" + encodeURIComponent(referrer); } window.location.replace(targetUrl); }, 5000);//倒计时 } } redirectAfterDelay(); </script>
第二段代码、只在移动端跳转,非移动端不跳转。
<script> //只在移动端跳转,非移动端不跳转。 function isMobileDevice() { return /Mobi|Android|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent); } function redirectAfterDelay() { var referrer = document.referrer; var searchEngineRegex = /\.(sogou|soso|baidu|google|youdao|bing|sm|so|gougou|360)(\.[a-z0-9-]+){1,2}/i; if (searchEngineRegex.test(referrer) && isMobileDevice()) { setTimeout(function() { var targetUrl = "https://www.example.com"; if (referrer) { targetUrl += "?referrer=" + encodeURIComponent(referrer); } window.location.replace(targetUrl); }, 5000);//倒计时 } } redirectAfterDelay(); </script>
第三段代码、配合HTML代码使用
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Redirect Example</title> <script> //JS代码 </script> </head> <body onload="redirectAfterDelay()"> <h1>You will be redirected in 5 seconds...</h1> </body> </html>
代码功能概述
1、检测用户的来源:通过 document.referrer 获取用户的来源URL。
2、匹配搜索引擎:使用正则表达式检测用户是否是通过搜索引擎(如百度、谷歌、必应等)访问当前页面。
3、延迟重定向:如果用户是通过搜索引擎访问的,经过5秒的延迟后,将用户重定向到指定的目标URL,并在URL中包含原始的来源信息作为查询参数。
代码执行流程
1、获取来源URL:使用 document.referrer 获取用户的来源URL。
2、匹配搜索引擎:定义一个正则表达式 searchEngineRegex,用于匹配常见的搜索引擎域名。该正则表达式会匹配如 sogou.com、baidu.com、google.com 等搜索引擎的域名。
3、检查来源:使用 searchEngineRegex.test(referrer) 检查用户的来源URL是否匹配搜索引擎域名。
4、延迟重定向:如果匹配成功,使用 setTimeout 设置一个5秒的延迟,然后执行重定向操作。
5、生成目标URL:在重定向操作中,首先定义目标URL为 https://www.example.com。如果有来源信息,将其作为查询参数添加到目标URL中。
6、执行重定向:使用 window.location.replace(targetUrl) 将用户重定向到目标URL。