在我的HTML页面中,我需要检查是否安装了Adobe Flash Player。如果没有,我想自动跳转到另一个HTML页面,告诉用户需要Flash播放器。
我正在使用JavaScript来检查Flash播放器是否可用,使用“JavaScript Flash detection library”。
我的HTML页面正文如下:
<body>
<script type="text/javascript">
if(!FlashDetect.installed)
{
alert("Flash 9.0.115 is required to enjoy this site.");
}
</script>
...
...
检测工作正常:我可以看到警报,但我找不到跳转到另一个HTML页面的方法。
任何提示?
编辑:我没有提到的东西似乎有所不同:HTML页面是本地页面(从CD-ROM运行),我想跳转到一个HTML页面,位于当前目录中。
答案 0 :(得分:24)
window.location.href = "http://stackoverflow.com";
对于本地文件,如果您知道相对路径,这应该有效:(在您的情况下,这是有效的。)
window.location.href = "someOtherFile.html";
也许你也可以使用这个绝对做到:(未经过测试。)
window.location.pathname = "/path/to/another/file.html/";
问题是浏览器供应商的安全措施。 Google对此有一些good information。
答案 1 :(得分:4)
对即时JavaScript重定向非常警惕。 Flash检测脚本可能是错误的(*),因此最好允许用户通过某种手动覆盖来决定Flash或者不是自己,或者只是使用后备内容。
写入location.href有效,但可以“中断后退按钮” - 如果用户按下后退,您的页面会再次将页面重定向到一个页面,那么他们就不会感到高兴。 location.replace('...')避免了这个问题。
(* - 有两种Flash检测方法,它们都不可靠。创建Flash实例并嗅探它会破坏FlashBlock之类的软件或只是缓慢加载,直接嗅探插件并不是标准化的,可能会破坏更加模糊的平台.Adobe在http://www.adobe.com/devnet/flashplayer/articles/future_detection_print.html自己的代码最终会嗅到UA字符串,呃。)