我有一个很大的SVG文档here,其中包含某个在线游戏中所有任务的地图。每个任务节点都在SVG <a>
元素内,链接到大HTML文档中的不同命名锚点,该文档在另一个选项卡中加载,包含有关该特定任务的更多详细信息。这完全符合桌面Safari的要求,我希望它在任何支持SVG的浏览器中都可以正常工作,因为我只使用最基本的链接形式,但它在Mobile Safari(iOS)上失败了6) - 考虑到有问题的游戏适用于iPad,这是我最重要的浏览器目标。它只在HTML页面的初始加载时滚动到正确的锚点;单击SVG选项卡中的其他任务将导致切换到HTML选项卡,并且地址栏中的哈希(片段ID)会更改,但页面不会自动滚动。
这似乎是Mobile Safari中的一个已知限制 - 显示用于强制页面重新加载的URL中仅限哈希的更改,并且过度修复,现在根本没有触发任何内容。我在网上找到的修补程序似乎只适用于以相同文档编程生成URL更改的情况,而不是来自其他文档的静态链接。
进一步详情:
<a name="...">
表单和较新的<h1 id="...">
表单执行命名锚点。没有区别。onhashchange
处理程序,强制进行滚动,但根本没有调用处理程序(通过在其中放置alert()进行验证)。任何人都有解决方法的想法吗?