单击超链接时Safari会忽略/删除hashatags?

lis*_*aro 18 safari cross-browser hyperlink

我需要将一个页面指向另一个页面然后滚动到特定部分.在Chrome中,做www.example.com#section1就可以做到这一点(#section1可以是一个锚点或一个元素的id).

我已经在Chrome和Firefox中尝试了它,并且在两个浏览器中都可以正常工作(带我到页面然后自动滚动到锚点,但是在safari中,当我点击链接时哈希消失了.

为什么会这样?是否有可能在Safari上进行,如果不能解决这个问题怎么办?

lis*_*aro 27

当使用指向其他页面内部部分的超链接时,必须记住在主题标签之前添加斜杠(/)以实现跨浏览器兼容性.

例如: www.example.com/#item-1

www.example.com#item-1所有浏览器都不接受这种做法(显然是Chrome和Firefox)

  • 对于看起来像目录名称的 URL,例如 `http://www.example.com/foo#item-1`,您也需要它。Safari 在此处重定向将丢弃该片段。您必须改为将它们发送到 `http://www.example.com/foo/#item-1`。 (2认同)

Ume*_* K. 8

案例:我在'#'后面有参数,如url#myParam = 123,当我更改params如url#myParam = 789 Safari有时会加载基于myParam = 123的上一页,

虽然在地址栏中显示myParam = 789

解决方案:使用url?#myParam = 123,然后Safari将每次加载新页面.
用'?' 之前'#'解决了我的问题.