如何在BB OS5浏览器中使用基于散列的URL

时间:2011-05-03 15:17:11

标签: javascript blackberry

我正在开发一个Web应用程序,它根据应用程序要求动态地改变URL中的哈希位置。

我正在使用window.location.hash来改变它。它适用于所有浏览器。对于地址中的任何hashchange,我使用了hashchange事件,它在检测到hashchange后执行了必要的操作。

但是这些事件在Blackberry OS5浏览器中不起作用。为了测试我正在使用BB OS5 9700模拟器的浏览器。下面我添加了示例代码。

<html>
<head>
    <title>jQuery Address API</title>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <script type="text/javascript" src="jquery-1.5.min.js"></script>
    <script type="text/javascript">
      $(document).ready(function() {
          window.location.hash=("#issue1");

          $(window).bind('hashchange', function() {
              alert('firedonchange');
          });

     });

    </script>
</head>
<body>
        <h1> HASH ADDRESS CHANGE TEST</h1>

</body>

在上面的示例代码中,如果我已经给出了网址http://test.stk.net,那么它将更改为http://test.stk.net/#issue1,它将在hashchange上提醒给定值。它适用于浏览器,例如Mozilla,chrome,safari,移动safari,android原生浏览器,但在BB OS5浏览器(例如BB 9700模拟器的浏览器)中,地址中的哈希更改无法正常工作。

如果我在代码中遗漏某些内容,或者在URL中更改散列部分的替代方法,是否有人可以建议我。

任何帮助将不胜感激。感谢

1 个答案:

答案 0 :(得分:1)

好的hashhange一定不能实现bb os5浏览器。

你应该尝试一个jQuery插件来修复旧浏览器或浏览器没有实现它的问题:例如jQuery hashchange event