Javadocs JDK 11+ 缺少 iFrame 视图

Posted

技术标签:

【中文标题】Javadocs JDK 11+ 缺少 iFrame 视图【英文标题】:Missing iFrame view for Javadocs JDK 11+ 【发布时间】:2019-01-30 05:16:18 【问题描述】:

我一直在使用JavaDocs for JDK 11

但我注意到 iFrames 视图似乎不再可用。 我环顾四周,但看不到任何关于为什么这样做的详细信息,如果有的话,还有什么替代方案?谁能提供更多细节?

适用于 JDK 10 的视图

适用于 JDK 11 的视图

【问题讨论】:

【参考方案1】:

如果其他人有相同的查询,默认情况下不再生成帧。

JDK-8202961 对此进行了介绍

过去,为了允许在 API 文档中导航,标准 doclet 在窗口左侧的框架中显示索引,以允许选择类、包和(最近的)模块以显示在窗户。

最近,doclet 现在支持“搜索”功能,它提供了一种更通用的方式来查找要查看的项目。另外,doclet 正朝着(仅)使用 html 5 的方向发展,HTML 5 中对框架的基本支持比 HTML 4 中的要少。

和JDK-8187794 等等

更新 javadoc/doclet 以默认不生成帧。如果指定“--frames”选项来生成帧,则应生成警告。未来版本中将移除对框架的支持。

似乎如果你真的想使用框架,你可以从 JDK src 生成你自己的框架并体验警告,但这将在某个时候完全删除。

总之,习惯了 Search 功能,框架化的 javadocs 即将被淘汰!

【讨论】:

我非常讨厌这个。 嗯,它不一定是帧,但其他形式的导航树之前的帧会很好。参考搜索功能并不是很有帮助,因为浏览导航与搜索特定术语完全不同……它并不真正喜欢 Java 目前的发展方向。 我同意,此更改是不需要的。我广泛使用了框架功能,发现它是一种非常有用的 API 导航方式。如果他们想删除该功能,他们应该在 HTML 4 或 5 中找到另一种机制来提供相同的功能。 “搜索”的问题是你只能搜索你已经知道的东西。 Oracle 忽略了导航包的目的有时是探索和发现 API。 完全同意,我经常使用框架视图来浏览特定软件包提供的内容。这是一种基本的浏览方式。这已经在各地的网络应用程序中发生了——用搜索框代替导航,这意味着你必须提前知道你在寻找什么!【参考方案2】:

我创建了JANITOR – Java API Navigation Is The Only Rescue:

将模块、包和类型(接口、类、枚举、异常、错误、注释)的导航树插入到 Java 11+ 的 Javadoc 页面中。

【讨论】:

【参考方案3】:

如果您更喜欢带有 HTML iframe 的 Java 10 及更早版本的 API 文档布局,那么您可能需要查看:https://github.com/climber09/Javadoc-Frames-Generator。这是一项正在进行的工作,所以我欢迎任何反馈。

【讨论】:

虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review

以上是关于Javadocs JDK 11+ 缺少 iFrame 视图的主要内容,如果未能解决你的问题,请参考以下文章

当内部类依赖于R.java时,Gradle在Android Javadocs中排除R.java

如何改变iframe滚动条的样式?

识别 Rails 中对 iframe 不友好的站点——即使标题中缺少 x-frame-options

Java 11 升级缺少 javax.annotation.security

如何使 Google Play 服务 API 和 Firebase API 的 API javadocs 出现在 Android Studio 中,而不是没有文档的反编译类?

Maven – 始终下载源代码和 javadocs