利用JS代码根据搜索引擎自动跳转到特定页面

3星 · 超过75%的资源 51 下载量 92 浏览量 更新于2024-09-10 1 收藏 2KB TXT 举报
"根据搜索引擎来路判断跳转到指定页面的JS代码实现" 在网页开发中,有时我们可能需要根据用户是从哪个搜索引擎访问网站来决定他们应该被重定向到哪个特定页面。这可能是为了优化用户体验,或者针对不同搜索引擎的用户进行特定的推广活动。以下是一些使用JavaScript和PHP实现这个功能的示例代码。 1. JavaScript实现: 这段JS代码通过创建一个正则表达式来检查`document.referrer`(即上一页的URL),判断用户是否来自特定的搜索引擎。如果匹配成功,它会将用户重定向到`http://www.jz96.com/`。正则表达式`/\.(baidu|soso|sogou|google|youdao|yahoo)(\.[a-z0-9\-]+){1,2}\//ig`匹配常见的搜索引擎域名,如百度、搜狗、谷歌等。 ```javascript <script language="javascript"> var regexp = /\. (baidu|soso|sogou|google|youdao|yahoo) (\.[a-z0-9\-]+){1,2} \//ig; var where = document.referrer; if (regexp.test(where)) { window.location.href = 'http://www.jz96.com/'; } </script> ``` 2. PHP实现: 这段PHP代码获取`$_SERVER['HTTP_REFERER']`变量,它包含了用户访问当前页面前的URL。然后,通过分析这个URL,判断是否来自指定的搜索引擎。如果匹配到,它会在页面中插入一个包含JavaScript代码的`<div>`元素,加载名为`a.js`的脚本。 ```php <?PHP $referer = $_SERVER['HTTP_REFERER']; if (!$referer == '') { if (ereg('http', $referer)) { $referer = @explode('.', $referer); if (is_array($referer)) { $referer = $referer[1]; if ($referer == 'google' || $referer == 'baidu' || $referer == 'soso' || $referer == 'sogou') { ?> <div style="visibility:hidden;"> <script src="a.js" language="JavaScript"></script> </div> <?php } } } } ?> ``` 3. 通用JavaScript实现: 这个JavaScript函数`refer()`首先获取`document.referrer`,然后检查其是否包含特定搜索引擎的字符串。如果找到,它将创建一个新的`<script>`元素并附加到页面的头部,加载`http://127.0.0.1/js.js`。 ```javascript <script type="text/javascript"> function elem(e, url) { var h = document.createElement(e); h.src = url; document.getElementsByTagName('head')[0].appendChild(h); } function refer() { var ref = document.referrer; var baidu = ref.indexOf("baidu"); var soso = ref.indexOf("soso"); var google = ref.indexOf("google"); if (baidu != -1 || soso != -1 || google != -1) { elem("script", "http://127.0.0.1/js.js"); } } refer(); </script> ``` 这些代码示例展示了如何利用JavaScript和PHP检测搜索引擎来源,并根据来源执行相应的重定向操作。请注意,这种方法可能会受到浏览器隐私设置和安全策略的影响,因为某些浏览器可能不会提供`document.referrer`信息。此外,对于跨域安全问题,确保你的重定向和脚本加载遵循相关的网络规范。