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 仿QQ滑动菜单效果代码
Sep 03 Javascript
JavaScript NaN和Infinity特殊值 [译]
Sep 20 Javascript
javascript使用window.open提示“已经计划系统关机”的原因
Aug 15 Javascript
jQuery处理图片加载失败的常用方法
Jun 08 Javascript
javascript实现跨域的方法汇总
Jun 25 Javascript
简单封装js的dom查询实例代码
Jul 08 Javascript
JS比较两个数值的大小实例
Nov 25 Javascript
清除浏览器缓存的几种方法总结(必看)
Dec 09 Javascript
jquery中each循环的简单回滚操作
May 05 jQuery
JavaScript之class继承_动力节点Java学院整理
Jul 03 Javascript
vue+iview动态渲染表格详解
Mar 19 Javascript
vue 实现搜索的结果页面支持全选与取消全选功能
May 10 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
星际争霸中的热键
2020/03/04 星际争霸
通过PHP简单实例介绍文件上传
2015/12/16 PHP
浅谈PHP5.6 与 PHP7.0 区别
2019/10/09 PHP
在IE模态窗口中自由查看HTML源码的方法
2007/03/08 Javascript
IE6弹出“已终止操作”的解决办法
2010/11/27 Javascript
Javascript实现仿WebQQ界面的“浮云”兼容 IE7以上版本及FF
2011/04/27 Javascript
json的前台操作和后台操作实现代码
2012/01/20 Javascript
一个JavaScript递归实现反转数组字符串的实例
2014/10/14 Javascript
使用bootstrapValidator插件进行动态添加表单元素并校验
2016/09/28 Javascript
ES6新增数据结构WeakSet的用法详解
2017/08/07 Javascript
Node.js pipe实现源码解析
2017/08/12 Javascript
初探JavaScript 面向对象(推荐)
2017/09/03 Javascript
基于vue中css预加载使用sass的配置方式详解
2018/03/13 Javascript
详解webpack运行Babel教程
2018/06/13 Javascript
浅谈在react中如何实现扫码枪输入
2018/07/04 Javascript
JavaScript数组去重的方法总结【12种方法,号称史上最全】
2019/02/28 Javascript
详解Vue demo实现商品列表的展示
2019/05/07 Javascript
基于elementUI竖向表格、和并列的案例
2020/10/26 Javascript
Python中的作用域规则详解
2015/01/30 Python
python版飞机大战代码分享
2018/11/20 Python
Django RBAC权限管理设计过程详解
2019/08/06 Python
Pytorch evaluation每次运行结果不同的解决
2020/01/02 Python
python读取图片颜色值并生成excel像素画的方法实例
2021/02/19 Python
用React加CSS3实现微信拆红包动画效果
2017/03/13 HTML / CSS
仿酷狗html5手机音乐播放器主要部分代码
2013/05/15 HTML / CSS
HTML5 Canvas绘制五星红旗
2016/05/04 HTML / CSS
韩国三星集团旗下时尚品牌官网:SSF SHOP
2016/08/02 全球购物
医生进修自我鉴定
2014/01/19 职场文书
2014学校庆三八妇女节活动总结
2014/03/01 职场文书
让生命充满爱演讲稿
2014/05/10 职场文书
警察先进个人事迹材料
2014/05/16 职场文书
工商行政管理专业求职书
2014/05/23 职场文书
golang协程池模拟实现群发邮件功能
2021/05/02 Golang
如何在pycharm中快捷安装pip命令(如pygame)
2021/05/31 Python
关于nginx 实现jira反向代理的问题
2021/09/25 Servers
基于Android10渲染Surface的创建过程
2022/08/14 Java/Android