jQuery Mobile URL在Android浏览器上将哈希(#)转换为%23



我的网站使用jQuery Mobile多页模板,但当我从Android浏览器访问网站时,它不起作用。

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

例如,我可以在iPhone中访问此链接www.domain.com/abc.php?id=1234#show_map,但Android显示此链接如下:www.domain.com/abc.php?id=1234%23show_map

我该如何解决这个问题?我应该创建新页面而不是哈希标签页面吗?或者我如何为Android浏览器添加例外?

感谢

更新:以下是在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>

您应该使用jquery编码/解码方法来编码包含特殊字符的url。例如:

var url='www.domain.com/abc.php?id=1234#show_map';var encodedUrl=encodeURIComponent(url);

最新更新