Javascript自定义函数判断网站访问类型是PC还是移动终端


Posted in Javascript onJanuary 10, 2014

由于很多移动终端不支持 Flash,因此 许多绚丽多彩的 Flash效果出不来。如果,能够判断出访问Web网页的类型(PC还是移动终端)。就可以对症下药,找出解决的办法!

访问的类型为移动终端我们就用.gif代替Flash(.swf后缀)动画,PC端就不做改变。这样就比较完美了!

如下所示,函数 flashChecker() 就是用来检测访问的类型。

<script language="javascript" type="text/javascript"> 
/* 
*用来检测是 PC还是移动终端 
*返回:flashChecker().f == true PC终端 
* 反之为移动终端 
*/ 
function flashChecker() { 
var hasFlash = 0; 
var flashVersion = 0; 
var isIE = /*@cc_on!@*/0; 
if (isIE) { 
var swf = new ActiveXObject("ShockwaveFlash.ShockwaveFlash"); 
if (swf) { 
hasFlash = 1; 
VSwf = swf.GetVariable("$version"); 
flashVersion = parseInt(VSwf.split(" ")[1].split(",")[0]); 
} 
} 
else { 
if (navigator.plugins && navigator.plugins.length > 0) { 
var swf = navigator.plugins["Shockwave Flash"]; 
if (swf) { 
hasFlash = 1; 
var words = swf.description.split(" "); 
for (var i = 0; i < words.length; ++i) { 
if (isNaN(parseInt(words[i]))) { 
continue; 
} 
flashVersion = parseInt(words[i]); 
} 
} 
} 
} 
return { 
f: hasFlash, v: flashVersion 
}; 
} 
</script>

扩充:
<script language="javascript" type="text/javascript"> 
/* 
* 根据参数 输出swf动画 
* url :单击 swf动画 后的跳转地址 
* swfLink: *.swf 素材地址 
*/ 
function GetSwfHtml(url, swfLink) { 
html = "<a style='position: absolute; top: 0; left: 0; bottom: 0; right: 0; display: block; " + 
"width: 100%; height: expression(this.parentNode.scrollHeight); filter: alpha(opacity=0);" + 
"opacity: 0; background: #FFF;' href='" + url + "' target='_blank'>" + 
"</a>" + 
"<object width='590' height='55' align='middle'>" + 
"<param name='allowScriptAccess' value='never' />" + 
"<param name='quality' value='high' />" + 
"<param name='wmode' value='transparent' />" + 
"<param name='movie' value='" + swfLink+ "' />" + 
"<embed wmode='transparent' src='" + swfLink+ "' quality='high' " + 
"width='590' height='55' align='middle' allowscriptaccess='never' type='application/x-shockwave-flash' " + 
"pluginspage='" + url + "' />" + 
"</object>"; 
return html; 
} 
</script>
Javascript 相关文章推荐
javascript 进阶篇1 正则表达式,cookie管理,userData
Mar 14 Javascript
JS中setTimeout()的用法详解
Apr 14 Javascript
jquery实现弹出层完美居中效果
Mar 03 Javascript
Javascript遍历Html Table示例(包括内容和属性值)
Jul 08 Javascript
jQuery 获取select选中值及清除选中状态
Dec 13 Javascript
jQuery实现优雅的弹窗效果(6)
Feb 08 Javascript
Vue.js 中的 $watch使用方法
May 25 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【圆形情况】
Dec 13 Javascript
JS实现可用滑块滑动的缓动图代码
Sep 01 Javascript
微信小程序tabBar设置实例解析
Nov 14 Javascript
Vue3不支持Filters过滤器的问题
Sep 24 Javascript
js调用网络摄像头的方法
Dec 05 Javascript
兼容主流浏览器的iframe自适应高度js脚本
Jan 10 #Javascript
javascript遍历控件实例详细解析
Jan 10 #Javascript
关闭ie窗口清除Session的解决方法
Jan 10 #Javascript
js出生日期 年月日级联菜单示例代码
Jan 10 #Javascript
JS实现根据出生年月计算年龄
Jan 10 #Javascript
javascript使用百度地图api和html5特性获取浏览器位置
Jan 10 #Javascript
javascript通过className来获取元素的简单示例代码
Jan 10 #Javascript
You might like
数据库查询记录php 多行多列显示
2009/08/15 PHP
网站用php实现paypal整合方法
2010/11/28 PHP
PHP模糊查询技术实例分析【附源码下载】
2019/03/07 PHP
php5对象复制、clone、浅复制与深复制实例详解
2019/08/14 PHP
关于javascript 回调函数中变量作用域的讨论
2009/09/11 Javascript
Jquery Change与bind事件代码
2011/09/29 Javascript
Javascript类定义语法,私有成员、受保护成员、静态成员等介绍
2011/12/08 Javascript
js 可拖动列表实现代码
2011/12/13 Javascript
jquery select动态加载选择(兼容各种浏览器)
2013/02/01 Javascript
jquery自动切换tabs选项卡的具体实现
2013/12/24 Javascript
jquery datepicker参数介绍和示例
2014/04/15 Javascript
jquery获取选中的文本和值的方法
2014/07/08 Javascript
jQuery中用dom操作替代正则表达式
2014/12/29 Javascript
js+div实现文字滚动和图片切换效果代码
2015/08/27 Javascript
jquery ztree实现模糊搜索功能
2016/02/25 Javascript
DataTables+BootStrap组合使用Ajax来获取数据并且动态加载dom的方法(排序,过滤,分页等)
2016/11/09 Javascript
JavaScript中正则表达式使数字、中文或指定字符高亮显示
2017/10/31 Javascript
使用Vue-Router 2实现路由功能实例详解
2017/11/14 Javascript
egg.js的基本使用和调用数据库的方法示例
2019/05/18 Javascript
Vue 2.0 侦听器 watch属性代码详解
2019/06/19 Javascript
vue表单中遍历表单操作按钮的显示隐藏示例
2019/10/30 Javascript
vue 使用 v-model 双向绑定父子组件的值遇见的问题及解决方案
2021/03/01 Vue.js
使用scrapy实现爬网站例子和实现网络爬虫(蜘蛛)的步骤
2014/01/23 Python
利用selenium 3.7和python3添加cookie模拟登陆的实现
2017/11/20 Python
python3调用百度翻译API实现实时翻译
2018/08/16 Python
Python调用OpenCV实现图像平滑代码实例
2020/06/19 Python
Python定义一个Actor任务
2020/07/29 Python
Python自定义sorted排序实现方法详解
2020/09/18 Python
.NET里面如何取得当前的屏幕分辨率
2012/12/06 面试题
重写子类方法时,抛出异常的书写注意事项
2015/10/17 面试题
医学类个人求职信范文
2014/02/05 职场文书
买房协议书
2014/04/11 职场文书
社会实践活动总结报告
2014/04/29 职场文书
六查六看自检自查剖析材料
2014/10/14 职场文书
Python实现PIL图像处理库绘制国际象棋棋盘
2021/07/16 Python
MySQL深度分页(千万级数据量如何快速分页)
2021/07/25 MySQL