2012-03-21 166 views
1

我为我的网站使用jQuery Mobile多页面模板,但是当我从Android浏览器访问网站时,它无法正常工作。在Android浏览器上将哈希(#)哈希(#)转换为%23

问题是,浏览器将#标记转换为%23

比如我可以在iPhone,但Android的访问此链接www.domain.com/abc.php?id=1234#show_map这样表示此链接:www.domain.com/abc.php?id=1234%23show_map

我怎样才能解决这个问题?我应该创建新的页面而不是哈希标记页面,或者如何为Android浏览器添加例外?

感谢

UPDATE: 这里是不适用于Android的代码,但其他地方的工作原理:

<script type="text/JavaScript"> 
     window.done_mapping=false; 
     contingency = function() { 
      if(window.done_mapping) return true; 
      window.location.href='#roast_map'; 
      window.location.reload(); 
     } 
     contingency_email = function() { 
      if(document.getElementById("email")) return true; 
      window.location.href+='#email'; 
      window.location.reload(); 
     } 
    </script> 

    <div data-role="content"> 
     <ul data-role="listview" data-inset="true" data-theme="c" data-dividertheme="a"> 
      <li class="goMap"><a href="#roast_map" data-transition="slide" onclick="contingency();">View on map</a></li> 
      <li class="goMap"><a href="#email" data-transition="slide" onclick="contingency_email()">E-mail Results</a></li> 
     </ul> 
    </div> 
+0

你试过编码你的URL吗? – JoxTraex 2012-03-21 05:02:39

+1

据我可以告诉Android浏览器处理片段标识符就好了。你确定你不是偶然编码服务器端的哈希字符吗?你能发布一个真实的URL来证明问题吗? – RoToRa 2012-03-21 09:15:36

+1

这是我的js代码: '