如果IE11中的mkdocs脚注跳转失败时的解决方案


tl;博士

将Python Markdown更新到3.1或更高版本,并将以下设置添加到mkdocs.yml。

1
2
3
markdown_extensions:
  - footnotes:
      SEPARATOR: _

背景

咨询我的是,当我在IE11中打开正式脚注并单击示例中的链接时,该页面重新加载并且无法正常工作。其他浏览器也很好,所以我知道这是只在IE中发生的错误,但我不能忽略它。

我不知道是什么原因,但是我真的怀疑将:附加到URL的片段部分(在上例中为#fn:1),因此当我查看Python Markdown时,它被称为SEPARATOR大约半年前,据说添加了一个设置项目。将默认冒号更改为适当的字符串后,它可以工作(侥幸)。

但是,除非我设置了此选项,否则我无法按预期工作,因此感到不安,因此在咨询了问题 1 2之后,得到了以下结论

  • 您可以在此部分使用冒号与RFC3986一致。
  • 在上面提到的提交之前,我一直在使用冒号,但这是第一个错误报告。由于IE11仅等待EOL,因此最好由关心它的人来设置库方面。
  • 包括上面的示例,如果不进行设置,可能会导致问题,因此对Python Markdown的依赖关系将很快更新(旧版本将无法解释SEPARATOR选项)。
  • https://github.com/squidfunk/mkdocs-material/issues/1083?

  • https://github.com/Python-Markdown/markdown/issues/819?