Mobile Safari无法滚动到命名锚点

时间:2012-09-30 07:25:29

标签: svg scroll mobile-safari anchor

我有一个很大的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()进行验证)。
  • 我可以通过将每个任务的详细信息放在单独的HTML文件中来修复问题,但这会严重影响可用性 - 将所有细节都放在一个文件中,您可以使用浏览器的“查找”功能一次性搜索所有这些内容。 (另外,每次更新后将1006个文件部署到我的虚拟主机会有点痛苦......)

任何人都有解决方法的想法吗?

0 个答案:

没有答案