1、首先,为了视频兼容大部分浏览器,也可以包括 ie6,最好用 object 或者 embed,两者配合也行;eg:第一个 param 是必不可少的,因为在 ie6下不能识别出 object 的 data,param 重新再将视频地址写一遍,让 ie6等老版本能正常播放。现在呢,出现了第二个问题,上面的写法为了兼容,视频用的是 swf,但是 apple 公司不支持 flash,所以上面的代码在所有的 apple 移动设备上都不能正常播放。所以可以考虑其他的写法,apple 公司对于 html5是力推的,所以用html5的标签肯定没问题,其他的移动设备对于 flash 大多都是支持的,所以只需要针对
2、 apple 移动设备写一套兼容就行了;eg:video 是 html5的标签,在 apple 的移动设备上运行肯定是没问题的,接下来该考虑的就是如何实行不同代码的转换,用 js 是毋庸置疑的,但是怎么实现还得由页面中的内容决定。如果页面中有好多视频模块的话,可以考虑用两张页面来判断加 window.location 跳转实现,优酷就是这种方法。如果视频模块不多的话,可以直接判断移动设备然后让模块隐藏显示;html,eg:视频都要加 id 方便 js 控制js, eg:function browserRedirect() /判断设备var sUserAgent= navigator.userA
3、gent.toLowerCase(); var bIsIpad= sUserAgent.match(/ipad/i) = “ipad“; var bIsIphoneOs= sUserAgent.match(/iphone os/i) = “iphone os“; /获取标签 videovar video_f=document.getElementById(“video_f“);判断如果 apple devices,让 video 标签执行if (bIsIpad | bIsIphoneOs) video_f.style.display=none;video_s.style.display=block;/否则用 objectelse video_s.style.display=none;video_f.style.display=block; browserRedirect(); 注意只需要兼容 apple devices 就行,因为其他的 smart phone 可能因为版本太老对于 html5的标签和属性不一定和apple 公司一样。同时确保其他的移动设备可以正常加载 flash,android2.3开始就对 flash 视频支持了,所以这个应该问题不大。