如果安装了Flash播放器,则重定向到另一个域的Javascript代码

时间:2011-02-17 08:11:41

标签: javascript flash

我实际上在同一个域名上有两个网站。比方说,例如

http://www.abc.com/flashsite

&安培;

http://www.abc.com/htmlsite

flashsite包含完全基于Flash的网站,而另一个是基于html但没有闪存的网站。我想要的是,如果有人在http://www.abc.com访问我的网址,javascript应首先检测插件是否安装在他的浏览器中。如果是,那么它应该直接带我到“flashsite”文件夹,如果没有,那么默认情况下它应该加载html网站。

提前致谢。

2 个答案:

答案 0 :(得分:1)

我建议在你的root中使用index.html,其中包含指向flash版本的链接和一个指向html版本的链接。所以没有javascript的用户不会被卡住。在onload-Event中,您可以调用处理检测和重定向的脚本。

index.html 就像这样

<html>
<head>
  <script type="text/javascript" src="yourscript.js"></script>
</head>
<body onload="yourfunction();">
  <a href="htmlversion">go to HTML-Version</a>
  <a href="flashversion">go to Flash-Version</a>
</body>
</html>

<强>的Javascript

您可以通过此脚本检测是否安装了Flash - http://code.google.com/p/swfobject/

最好使用window.location.replace(...);重定向,其余的应该是直截了当的;)

答案 1 :(得分:1)

代码“无耻地”从http://www.adobe.com/support/flash/how/shock/javaplugs/javaplugs05.html

复制
<script type="text/javascript">

<!-- use this comment tag to hide the enclosed code from old browsers.

//Look for a version of Internet Explorer that supports ActiveX (i.e., one that's
//running on a platform other than Mac or Windows 3.1) or a browser that supports
//the plugin property of the navigator object and that has Flash Player 2.0
//installed.

if ((navigator.appName == "Microsoft Internet Explorer" &&
    navigator.appVersion.indexOf("Mac") == -1 &&   navigator.appVersion.indexOf("3.1") == -1) ||

    (navigator.plugins && navigator.plugins["Shockwave Flash"])
                       || navigator.plugins["Shockwave Flash 2.0"]){

   //Load a pre-defined HTML page with Flash Player in it into the browser window.
    //window.location='flashed.html';
   alert ("flash plugin detected");
}
else {
    //Load a pre-defined HTML page without Flash Player into the browser window.
    //window.location='nonflashed.html';
   alert("flash plugin not detected");
}

// Close the comment tag. -->

</script>