网站页面自动跳转实现方法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 相关文章推荐
javascript 判断中文字符长度的函数代码
Aug 27 Javascript
js实现精美的银灰色竖排折叠菜单
May 16 Javascript
Node.js中的process.nextTick使用实例
Jun 25 Javascript
js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式)
Nov 09 Javascript
基于javascript实现句子翻牌网页版小游戏
Mar 23 Javascript
jQuery简单实现上下,左右滑动的方法
Jun 01 Javascript
js判断请求的url是否可访问,支持跨域判断的实现方法
Sep 17 Javascript
vuejs 动态添加input框的实例讲解
Aug 24 Javascript
玩转Koa之koa-router原理解析
Dec 29 Javascript
JS数组方法shift()、unshift()用法实例分析
Jan 18 Javascript
vue组件内部引入外部js文件的方法
Jan 18 Javascript
vant-ui组件调用Dialog弹窗异步关闭操作
Nov 04 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项目的方法
2006/10/09 PHP
用PHP4访问Oracle815
2006/10/09 PHP
PHP易混淆函数的区别及用法汇总
2014/11/22 PHP
ThinkPHP中关联查询实例
2014/12/02 PHP
php通过两层过滤获取留言内容的方法
2016/07/11 PHP
jquery $.ajax入门应用一
2008/11/19 Javascript
用Javascript数组处理多个字符串的连接问题
2009/08/20 Javascript
根据IP的地址,区分不同的地区,查看不同的网站页面的js代码
2013/02/26 Javascript
用nodejs实现PHP的print_r函数代码
2014/03/14 NodeJs
Angular.js实现注册系统的实例详解
2016/12/18 Javascript
NPM 安装cordova时警告:npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to
2016/12/20 Javascript
jQuery插件HighCharts实现的2D对数饼图效果示例【附demo源码下载】
2017/03/09 Javascript
js 判断一个数字是不是2的n次方幂的实例
2017/11/26 Javascript
基于jquery实现九宫格拼图小游戏
2018/11/30 jQuery
聊聊Vue中provide/inject的应用详解
2019/11/10 Javascript
基于node+websocket+html实现腾讯课堂聊天室聊天功能
2020/03/04 Javascript
使用graphics.py实现2048小游戏
2015/03/10 Python
Python实现的递归神经网络简单示例
2017/08/11 Python
Python入门必须知道的11个知识点
2018/03/21 Python
解决Python3中的中文字符编码的问题
2018/07/18 Python
余弦相似性计算及python代码实现过程解析
2019/09/18 Python
QML用PathView实现轮播图
2020/06/03 Python
ffmpeg+Python实现B站MP4格式音频与视频的合并示例代码
2020/10/21 Python
德国古洛迷亚百货官网:GALERIA Kaufhof
2017/06/20 全球购物
初入社会应届生求职信
2013/11/18 职场文书
大学生入党思想汇报
2014/01/14 职场文书
领导干部考察材料
2014/02/08 职场文书
农村优秀教师事迹材料
2014/08/27 职场文书
大学运动会加油稿200字(5篇)
2014/09/27 职场文书
房屋买卖委托书格式范本格式
2014/10/13 职场文书
2014年食品安全工作总结
2014/12/04 职场文书
庆六一开幕词
2015/01/29 职场文书
2015年小学二年级班主任工作总结
2015/05/21 职场文书
正确使用MySQL INSERT INTO语句
2021/05/26 MySQL
mysql下的max_allowed_packet参数设置详解
2022/02/12 MySQL
nginx rewrite功能使用场景分析
2022/05/30 Servers