2011-05-03 66 views
3

我正在開發一個Web應用程序,根據應用程序需求動態地更改URL中的哈希位置。如何在BB OS5瀏覽器中使用基於哈希的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> 

在上面的示例代碼,如果我已經給URL http://test.stk.net那麼它將被改變爲http://test.stk.net/#issue1和它會提醒上hashchange給定值。它適用於瀏覽器,如Mozilla,Chrome瀏覽器,Safari瀏覽器,移動Safari瀏覽器,Android本地瀏覽器,但在BB OS5瀏覽器(例如BB 9700模擬器的瀏覽器)中,地址散列更改無效。

任何人都可以建議我,如果我缺少我的代碼中的東西或另一種方法來更改網址中的哈希部分。

任何幫助將不勝感激。謝謝

回答

1

那麼hashhange一定不能實現bb os5瀏覽器。

你應該嘗試一個jQuery插件,修復與舊的瀏覽器或瀏覽器不執行它的問題:例如jQuery hashchange event