Vimium: 添加命令以激活 Firefox 阅读模式

创建于 2017-08-21  ·  9评论  ·  资料来源: philc/vimium

我想在 Firefox 中进入阅读模式,它会重新格式化页面以使其滚动更流畅并更易于阅读。 在 VimFX 中这是gr ,但当然默认情况下它不必具有相同的映射。 实际上,我什至不一定认为它需要在默认情况下进行映射。 让它可以被映射就很好了。

最有用的评论

尽管悲观很有趣,但您可以按照包罗万象的阅读器模式 WebExtensions 错误的面包屑:

  • 它不是特权 URL,因此tabs.create应该能够打开它。 从它的 bug来看,它正在等待这个安全审查请求完成。

    • 阅读器 URL 格式是"about:reader?url="+encodeURIComponent(url) ,因此使用它添加到 Vimium 是微不足道的。

    • 有人担心url参数目前可能没有正确清理,这阻碍了这一点。

  • 内容脚本也应该能够在非 pviledged URL 上运行,因此bug 中也有可能实现这一点。

    • 同样,这在安全审查中被阻止(检查about:reader上的内容脚本不会损坏沙箱)。

  • 用于检查阅读器模式是否支持页面的 API 已获得基线批准
  • 已经提出了一个关于选项卡是否处于阅读器模式的 API。

    • 这没有进一步进展,因为目前在选项卡 URL 的开头检查about:reader应该可以解决问题。

编辑:第一个项目符号是我们需要能够实现进入/离开阅读器模式的命令。

所有9条评论

如果 WebExtension 有可能(或永远有可能),我会感到惊讶。

因为它是 Firefox 特有的?

不,因为为其添加 API 是一件非常特殊的事情。

尽管悲观很有趣,但您可以按照包罗万象的阅读器模式 WebExtensions 错误的面包屑:

  • 它不是特权 URL,因此tabs.create应该能够打开它。 从它的 bug来看,它正在等待这个安全审查请求完成。

    • 阅读器 URL 格式是"about:reader?url="+encodeURIComponent(url) ,因此使用它添加到 Vimium 是微不足道的。

    • 有人担心url参数目前可能没有正确清理,这阻碍了这一点。

  • 内容脚本也应该能够在非 pviledged URL 上运行,因此bug 中也有可能实现这一点。

    • 同样,这在安全审查中被阻止(检查about:reader上的内容脚本不会损坏沙箱)。

  • 用于检查阅读器模式是否支持页面的 API 已获得基线批准
  • 已经提出了一个关于选项卡是否处于阅读器模式的 API。

    • 这没有进一步进展,因为目前在选项卡 URL 的开头检查about:reader应该可以解决问题。

编辑:第一个项目符号是我们需要能够实现进入/离开阅读器模式的命令。

耶! 对不起,消极。

关于@mrmr1993的编辑,我认为您需要前两个项目符号才能离开阅读器模式。 现在,似乎无法将 WebExtensions 加载到about: URL 中,因此离开阅读器模式的键绑定不起作用。

我经常使用阅读器模式。 我不介意使用Ctrl-Alt-r的默认键绑定来激活它,但是很烦人我不能在阅读器模式下使用其他键绑定,尤其是jk ,以及其他与滚动相关的键。 我们需要一个单独的问题来在阅读器模式内加载 Vimium 还是适合这里? 或者如果错误 1371786 得到解决,它是否可以在不更改 Vimium 的情况下工作?

我认为您需要前两个项目符号才能离开阅读器模式。

你说得对。 接得好。

我们需要一个单独的问题来在阅读器模式下加载 Vimium

不:这里的问题跟踪器很混乱,本质上是一个邮件列表。 只有当有人决定修复问题时,问题才会得到修复(然后史蒂夫足够关心问题以合并修复),而这并没有以任何有意义的方式真正协调。

我经常使用阅读器模式,所以我打算在可能的情况下解决这个问题——至少对我自己来说。

如果错误 1371786 得到解决,它会在不更改 Vimium 的情况下正常工作吗?

取决于实现,无需更改或对扩展清单进行单行更改。

用于此的 API 每晚都在运行。 有关详细信息,请参阅此错误(或提交 mozilla/gecko-dev@8f848ff9dfe8e5b11966cbe6177019deb1f75a3c)。 我找不到任何官方文档,只是在 Firefox 代码库上做一些不相关的工作时才遇到它。

简而言之,变化是:

  • isArticle添加到Tab对象,它对应于地址栏中显示的阅读器视图按钮(我认为)
  • isInReaderMode也添加到Tab对象
  • browser.tabs.toggleReaderMode(tabId) API 添加

我们仍然不能在阅读器模式下运行内容脚本(这个错误),所以一旦我们进入,我们就被卡住了。

这是browser.tabs.toggleReaderMode的文档。 它在 Firefox 58 中。到目前为止,在阅读器模式下允许内容脚本没有太大进展。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

lawiparadise picture lawiparadise  ·  3评论

JulianDeal picture JulianDeal  ·  3评论

everyonesdesign picture everyonesdesign  ·  3评论

Semro picture Semro  ·  3评论

finalfantasia picture finalfantasia  ·  3评论