同页链接通过引用同一页上具有
例如,像这样的链接是相对的。但是,如果我在LaTeX.js游乐场的iframe中使用完全相同的语法,它不仅会滚动到目标元素,而且会重新加载整个游乐场页面。 (请注意,我使用
因此,问题变成了:是否有办法在基本URL中引用
id="sec-id"
的另一个元素来工作,使用<a href="#sec-id"></a>
例如,像这样的链接是相对的。但是,如果我在LaTeX.js游乐场的iframe中使用完全相同的语法,它不仅会滚动到目标元素,而且会重新加载整个游乐场页面。 (请注意,我使用
iframe.srcdoc = html
以编程方式设置iframe的内容)例如:LaTeX.js playground,在第一节的末尾,在右侧的iframe中单击“另请参见第11节中的链接”。可能的原因是什么?
更新:我现在理解了问题的根源:浏览器使用文档的基本URL将所有相对URL变成绝对URL(参见<base>
)。问题始于一个iframe,它的内容是用srcdoc
设置的:没有指定唯一的基本URL,在这种情况下,父框架/文档的基本URL被使用——在我的情况中是playground(请参见HTML标准)。因此,问题变成了:是否有办法在基本URL中引用
srcdoc
iframe?或者是否可能使浏览器不添加基本URL?或者制作一个不改变相对#sec-id
URL的基本URL?