gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 04:17:14 24 4
gpt4 key购买 nike

我正在为我的网站使用 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 浏览器添加异常(exception)?

谢谢

更新:以下代码不适用于 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);

关于javascript - jQuery Mobile URL 在 Android 浏览器上将哈希 (#) 转换为 %23,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9798731/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com