Sep 5, 2012 - javascript, 前端    No Comments

brower.js配合swfobject.js

在flash日益走向非主流的今天,有些时候你还是不得不承认页面上有些东西还是flash做起来最快,效果也最好。比如一个巨大的KV。不过在兼容手机浏览器越来越正常的今天,我们前端页面仔就又多出来了一件事,就是让显示flash的区域在手机端显示一张图片,最好还是带link。

其实实现起来也很简单,就是brower.js配合swfobject.js

swfobject.js就不用说了,现在页面上的flash几乎都是用这个来写入的。

brower.js的代码如下:

function ismobile() {
	var u = navigator.userAgent.toLowerCase();
	if (u.indexOf('android') > - 1 || u.indexOf('linux') > - 1) {
		return true;
	}
	if (u.indexOf('dalvik') > - 1) {
		return true;
	}
	if (u.indexOf('iphone') > - 1 || u.indexOf('ipod') > - 1 || u.indexOf('ipad') > - 1) {
		return true;
	}
	if (u.indexOf('windows phone') > - 1 || u.indexOf('windows mobile') > - 1) {
		return true;
	}
	if (u.indexOf('uc ') > - 1 || u.indexOf('ucweb') > - 1) {
		return true;
	}
	if (u.indexOf('qqbrowser') > - 1) {
		return true;
	}
	if (u.indexOf('opera') > - 1 && u.indexOf('mobi') > - 1) {
		return true;
	}
	return false;
}

配合swfobject.js这样使用就可以了:

<!DOCTYPE HTML>
<html lang="en">
	<head>
		<meta charset="UTF-8">
		<title>flashkv</title>
		<script src="../src/js/jquery-1.7.2.min.js"></script>
		<script src="js/brower.js"></script>
		<script src="js/swfobject.js"></script>
		<script>
			if(!ismobile()){
				var opObjectParams = {};  
				opObjectParams.wmode = "transparent";  
				opObjectParams.menu = "false";
				swfobject.embedSWF("flash/flashkv.swf", "kv", "1000", "507", "9.0.0", "flash/expressInstall.swf", null, opObjectParams);
			}
		</script>
	</head>
	<body>
		<div id="kv">
			<a href="http://www.google.com"><img src="images/flashkv.png" alt="" /></a>
		</div>
	</body>
</html>

Got anything to say? Go ahead and leave a comment!