首页 > 解决方案 > 锚定到另一个页面到移动设备中的错误元素

问题描述

我有一个下拉菜单,其中每个选项将用户发送到另一个页面中的元素。它在台式机上运行良好,但在移动设备上只能第一次正常运行。

示例:如果在移动设备中用户选择例如“Galway”,用户将被发送到页面 2 以及 galway 元素所在的位置,如果之后用户返回主页并选择“Dublin”,用户将被发送到第 2 页,但 galway 元素所在的位置,而不是都柏林。甚至 url 也会显示 galway,并且它总是 galway 除非我清理浏览器缓存,否则我尝试选择什么都没关系。

在第 1 页

<ul class="dropdown-menu" role="menu">
    <li>
        <a href="/providers#provider-dublin">Dublin</a>
    </li>
    <li>
        <a href="/providers#provider-galway">Galway</a>
    </li>
    <li>
        <a href="/providers#provider-cork-city">Cork City</a>
    </li>
    <li>
</ul>

在第 2 页

<div id="provider-dublin" class="same_width doctor_detail_wrap">
    <div class="doctor_img_wrap">
        <img src="https://clear.juvo.dev/wp-content/uploads/2019/07/cliona-fergey-circle-1-2.png">
    </div>
    <div class="doctor_detail">
        <h2>Blackrock</h2>
        <h3>Dr Cliona Fergey</h3>
        <h3>Dental Options Cork</h3>
        <p>Blackrock Hall Primary Care Centre</p>
        <p>Skehard Road</p>
        <p>Blackrock</p>
        <p></p>
    </div>
</div>

以及其他具有不同 id 的元素

标签: htmlcachingmobileanchor

解决方案


答案是从https://stackoverflow.com/a/22643441/3238940复制的

Opera、IE、Chrome 和 Firefox 会将锚点转移到新页面。但是,Safari 会丢失重定向上的锚点。

那么如果你在 ID 标签之前添加 / 呢?

旧网址路径:

http://www.example.com/my-example-article-url-is-like.php#articlebottom

新网址路径:

http://www.example.com/my-example-article-url-is-like.php/#articlebottom

另一种解决方案是您必须删除两个“www”。来自域并在 Safari 正确响应之前在 URL/路径名中的锚标记之前添加正斜杠。Firefox 似乎不在乎,而且我还没有在 IE 上进行测试。

***Hope this might help other's without much trouble.***

推荐阅读