js获取浏览器用户信息再创建不同版本的flash组件
这是一款利用了在flash网站的代码,他是利用js获取浏览器用户信息再创建不同版本的flash组件实例,这样很好的兼容大部份主流浏览器就ok了。
*/
var isie = (navigator.appversion.indexof("msie") != -1) ? true : false;
var iswin = (navigator.appversion.tolowercase().indexof("win") != -1) ? true : false;
var isopera = (navigator.useragent.indexof("opera") != -1) ? true : false;
function controlversion()
{
var version;
var axo;
var e;
// note : new activexobject(strfoo) throws an exception if strfoo isn't in the registry
try {
// version will be set for 7.x or greater players
axo = new activexobject("shockwaveflash.shockwaveflash.7");
version = axo.getvariable("$version");
} catch (e) {
}
if (!version)
{
try {
// version will be set for 6.x players only
axo = new activexobject("shockwaveflash.shockwaveflash.6");
// installed player is some revision of 6.0
// getvariable("$version") crashes for versions 6.0.22 through 6.0.29,
// so we have to be careful.
// default to the first public version
version = "win 6,0,21,0";
// throws if allowscripaccess does not exist (introduced in 6.0r47)
axo.allowscriptaccess = "always";
// safe to call for 6.0r47 or greater
version = axo.getvariable("$version");
} catch (e) {
}
}
if (!version)
{
try {
// version will be set for 4.x or 5.x player
axo = new activexobject("shockwaveflash.shockwaveflash.3");
version = axo.getvariable("$version");
} catch (e) {
}
}
if (!version)
{
try {
// version will be set for 3.x player
axo = new activexobject("shockwaveflash.shockwaveflash.3");
version = "win 3,0,18,0";
} catch (e) {
}
}
if (!version)
{
try {
// version will be set for 2.x player
axo = new activexobject("shockwaveflash.shockwaveflash");
version = "win 2,0,0,11";
} catch (e) {
version = -1;
}
}
return version;
}
</script>