使用JavaScript跳转到新的HTML页面

时间:2009-01-14 09:23:11

标签: javascript redirect

在我的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页面,位于当前目录中。

2 个答案:

答案 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字符串,呃。)