我使用jQuery移动多页模板作为我的网站,但当我访问网站从安卓浏览器,它是不工作的。
问题是,浏览器将#标记转换为%23。
例如,我可以访问www.domain.com/abc.php?id=1234#show_map在iPhone中的链接,但是Android显示了如下链接:www.domain.com/abc.php?id=1234%23show_map
我该如何解决这个问题?我应该创建新页面而不是哈希标签页面,或者如何为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>发布于 2012-05-18 01:39:41
有一个jquery编码/解码方法,您应该使用它来编码包含特殊字符的url。例如:
var url = 'www.domain.com/abc.php?id=1234#show_map';var encodedUrl = encodeURIComponent(url);
https://stackoverflow.com/questions/9798731
复制相似问题