该问题有两种解决方案:适用于旧版本的 Google Docs 和适用于新版本。
解决方案适用于旧版本的 Google 文档
您需要将 GET 参数 ?mode=html 添加到 URL。
例如,如果文档 URL 是:
docs.google.com/document/exampleId/edit
将网址更改为:
docs.google.com/document/d/exampleId/edit?mode=html
这将强制 Google 文档使用 HTML 渲染器。
2022 年 3 月 4 日更新
Google 更改了 html 渲染激活码。
html 渲染器在当前代码中,如果您手动打开它,它可以工作。
我现在正在研究需要满足哪些新条件才能自动启用它。
我稍后会报告结果。
2022 年 3 月 9 日更新
新的解决方案
这再次证明了 Google 程序员并不像人们想象的那么好。
所以...
现在有三种方法可以启用 html 渲染。
至少我找到了三个:
- 在 Google Docs 代码开始之前:
window._docs_force_html_by_ext == true ? 'html render' : 'canvas render'
- 在 Google Docs 代码开始之前:
(GET['mode']=='html' && window._docs_flag_initialData['kix-awcp'] == true) ? 'html' : 'canvas'
- 在 Google Doc 代码的正确位置手动设置所需参数。
但是,Google 的程序员忘记了 window 对象还包含对具有 id 属性集的元素的引用。
例如:
HTML:
<span id="spanId"></id>
JS:
window['spanId'] == true;
也就是说,如果我们可以为页面上的任何元素添加一个id属性,其值将等于_docs_force_html_by_ext,那么我们将自动在窗口对象中接收一个具有!=false值的标识符。由于满足方法 1 的条件,因此将打开 html 渲染。
例如
<body id="_docs_force_html_by_ext ">
提示1:据我所知,任何浏览器插件都可以在主代码之前运行,并为任何元素添加id属性。
提示 2: 链接元素可以有一个 id 属性。 我想你明白了。