网站页面自动跳转实现方法PHP、JSP(上)


Posted in Javascript onAugust 01, 2010

通常情况下,浏览器会收到一个网页,该页面含有自动加载一其它网页的代码。该页面有可能在服务器端被转换,这样的话,浏览器只收到一个页面,而自动转向往往意味着浏览器收到的页面具有自动将访问用户送至其它页面的功能。
对自动转向技术的合理应用包括:将用户转向到指定浏览器的网页版本;当网站的域名变更或删除后将人们转向到新域名下,等等。但现在这种技术却往往被搜索引擎优化人士用来作为提高网站的搜索引擎排名的一种手段。例如,先专门针对搜索引擎做一个高度优化的网页,也就是我们通常所说的“桥页”,然后把这个网页提交给搜索引擎来获得好的排名。但是,当搜索用户通过搜索引擎的搜索结果列表点击该网页列表进入后,将被自动转向到一个用户本来无意去访问的网站地址。搜索引擎常常认为自动转向的网页是对读者的误导,所以它会对这种网页或网站施以惩戒,不过对一些自动转向方法它目前还无法自动检测出来。
Meta Refresh Tag自动转向法
由于搜索引擎能够读取HTML,而Meta tags也是HTML,所以对于这种自动转向法,搜索引擎能够自动检测出来。因而无论网站的转向出于什么目的,都很容易被搜索引擎视做对读者的误导而受到惩罚。不过,如果跳转延迟时间设置合适,搜索引擎就不会视之为作弊。
页面定时刷新元标识(Meta Refresh Tag)只能放在HTML代码的<HEAD>区里。如下所示:
代码

<meta http-equiv="refresh" content="5" url=https://3water.com/">

其中的“5”是告诉浏览器在页面加载5秒钟后自动跳转到page.htm这个页面。这种方法常可以在论坛中见到。如果在论坛上发信息,先会看到一个确认页面,几秒后会自动重新跳转回当前的论坛页面中。
从搜索引擎优化的角度出发,一般不希望自动转向有延迟。不过,如果是用Meta Refresh标识进行转向,一定要注意把延迟时间设定成至少10秒以上。
“javascript”自动转向法
由于不能解析javascript,所以搜索引擎无法察觉(自动检测到)用javascript脚本进行的自动转向。javascript自动重定向脚本可以放在网页的任何位置上,如果要求立即跳转,则可以将其放入网页源码的<head>区内的最上面。用javascript实现跳转的范例如下:
方案1:
代码

<script language="javascript"> 
<!-- 
location.replace("https://3water.com"); 
--> 
</script>

用javascript实现自动重定向的好处在于:用户所访问的目标URL不会保留在用户浏览器的历史记录中,如果用户按返回按钮返回,则将回到跳转前的网页,而不是包含javascript自动重定向脚本的跳转页面,所以不会出现当用户点击返回按钮后返回至重定向页,然后该页自动跳转到用户本来想离开的那个页面的尴尬情形。
如果需要,可以把javascript自动重定向脚本存在一个外部文件中,并通过下面的命令行来加载,其中“filename.js”是该外部文件的路径和文件名:
代码
<script language="javascript" src="filename.js"></script>

注意:若需实现即刻转向,或不希望人们看到转向前的那个页面,一般常用javascript脚本实现。在这种情况下应将javascript脚本放入HTML源码的<HEAD>区中。
表单(FORM)自动转向法
搜索引擎的“爬行”程序是不会填写表单的,所以它们也不会注意到提交表单,因而可以利用表单来实现自动转向(重定向)而不让搜索引擎察觉。
对于表单,人们往往很少意识到:表单的Action参数中包含的URL地址其实正是浏览器向服务器所请求的URL。浏览器将会通过向请求的URL地址增加一些格式为name=value的参数给予它以特殊的对待。在什么都没有的情况下,浏览器仍旧会为该URL安排请求至服务器。
用javascript脚本可让页面开始加载时即提交表单。下面是一个用javascript实现表单自动提交,以及提交表单的范例:
代码

<script language="javascript"><!--document.myform.submit() //--> </script> 
<form name="myform" action="https://3water.com" method="get"></form>
Javascript 相关文章推荐
jQuery 常见学习网站与参考书
Nov 09 Javascript
javascript中的=等号个数问题两个跟三个有什么区别
Oct 23 Javascript
JS实现侧悬浮浮动实例代码
Nov 29 Javascript
用unescape反编码得出汉字示例
Apr 24 Javascript
js面向对象之公有、私有、静态属性和方法详解
Apr 17 Javascript
js 定义对象数组(结合)多维数组方法
Jul 27 Javascript
微信小程序-详解数据缓存
Nov 24 Javascript
JavaScript中防止微信浏览器被整体拖动的方法
Aug 25 Javascript
使用vue脚手架(vue-cli)搭建一个项目详解
May 09 Javascript
Vue2.0实现组件之间数据交互和通信操作示例
May 16 Javascript
微信小程序 flexbox layout快速实现基本布局的解决方案
Mar 24 Javascript
vue全局使用axios的操作
Sep 08 Javascript
JS DOM 操作实现代码
Aug 01 #Javascript
JQuery自定义事件的应用 JQuery最佳实践
Aug 01 #Javascript
基于jquery的实现简单的表格中增加或删除下一行
Aug 01 #Javascript
Jquery从头学起第四讲 jquery入门教程
Aug 01 #Javascript
关于jquery动态增减控件的一些想法和小插件
Aug 01 #Javascript
jQuery的实现原理的模拟代码 -2 数据部分
Aug 01 #Javascript
jQuery的实现原理的模拟代码 -1 核心部分
Aug 01 #Javascript
You might like
修改php.ini实现Mysql导入数据库文件最大限制的修改方法
2007/12/11 PHP
献给php初学者(入门学习经验谈)
2010/10/12 PHP
php中显示数组与对象的实现代码
2011/04/18 PHP
第4章 数据处理-php字符串的处理-郑阿奇(续)
2011/07/04 PHP
PHP 实现explort() 功能的详解
2013/06/20 PHP
php和editplus正则表达式去除空白行
2015/04/17 PHP
php使用curl实现简单模拟提交表单功能
2017/05/15 PHP
PHP编程实现脚本异步执行的方法
2017/08/09 PHP
PHP判断json格式是否正确的实现代码
2017/09/20 PHP
php输出反斜杠的实例方法
2019/09/19 PHP
js的with语句使用方法
2007/09/21 Javascript
jQuery中append、insertBefore、after与insertAfter的简单用法与注意事项
2020/04/04 Javascript
jquery子元素过滤选择器使用示例
2013/06/24 Javascript
jquery在项目中做复选框时遇到的一些问题笔记
2013/11/17 Javascript
JS控件ASP.NET的treeview控件全选或者取消(示例代码)
2013/12/16 Javascript
用html5 js实现点击一个按钮达到浏览器全屏效果
2014/05/28 Javascript
JQuery分屏指示器图片轮换效果实例
2015/05/21 Javascript
jquery跟随屏幕滚动效果的实现代码
2016/04/13 Javascript
jQuery常用选择器详解
2017/07/17 jQuery
iview在vue-cli3如何按需加载的方法
2018/10/31 Javascript
[30:00]完美世界DOTA2联赛PWL S2 Rebirth vs LBZS 第二场 11.28
2020/12/01 DOTA
几个提升Python运行效率的方法之间的对比
2015/04/03 Python
python uuid模块使用实例
2015/04/08 Python
Python爬虫模拟登录带验证码网站
2016/01/22 Python
基于python脚本实现软件的注册功能(机器码+注册码机制)
2016/10/09 Python
基于Python实现的微信好友数据分析
2018/02/26 Python
使用memory_profiler监测python代码运行时内存消耗方法
2018/12/03 Python
Python标准库使用OrderedDict类的实例讲解
2019/02/14 Python
Python Pickle 实现在同一个文件中序列化多个对象
2019/12/30 Python
Python 将代码转换为可执行文件脱离python环境运行(步骤详解)
2021/01/25 Python
C#如何判断当前用户是否输入某个域
2015/12/07 面试题
工业学校毕业生自荐书
2014/01/03 职场文书
创意活动策划书
2014/01/15 职场文书
农村党建工作汇报材料
2014/10/27 职场文书
navicat 连接Ubuntu虚拟机的mysql的操作方法
2022/04/02 MySQL
对讲机知识
2022/04/07 无线电