首页 / 脚本样式 / JavaScript / Javascript自定义函数判断网站访问类型是PC还是移动终端
由于很多移动终端不支持 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>