我实际上在同一个域名上有两个网站。比方说,例如
http://www.abc.com/flashsite
&安培;
http://www.abc.com/htmlsite
flashsite包含完全基于Flash的网站,而另一个是基于html但没有闪存的网站。我想要的是,如果有人在http://www.abc.com访问我的网址,javascript应首先检测插件是否安装在他的浏览器中。如果是,那么它应该直接带我到“flashsite”文件夹,如果没有,那么默认情况下它应该加载html网站。
提前致谢。
答案 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>