1

这里有一个很大的 SVG 文档,其中包含某个在线游戏中所有任务的地图。每个任务节点都在一个 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 个文件部署到我的虚拟主机会有点痛苦......)

有人有解决方法的想法吗?

4

0 回答 0