预览 HTML 文件而不运行它
.html、.htm 或 .xhtml 文件可以在预览选项卡中打开。 GitTree 在您的计算机上解析它,删除脚本、框架和其他活动内容,并在没有网络的沙盒框架中显示其余内容。内联样式和 data: 图像可以保留。预览不运行页面。
适用于 GitTree 免费:所有本地 Git 功能,无需帐户。
开始之前
- 预览是免费计划的一部分。该文件位于您打开的存储库中,或者它是该路径的工作副本。
- 您想要读取该页面,而不是执行它。依赖于脚本或网络的页面看起来会不完整。那是沙箱,而不是存储库加载失败。
在哪里可以找到它
- 从文件浏览器 打开文件。以
.html、.htm或.xhtml结尾的路径可以像 Markdown 一样作为预览打开。 - Open Preview 文件菜单提供的位置。
| 行动 | macOS | Windows 和 Linux |
|---|---|---|
| 聚焦文件列表 | ⌘⇧E | Ctrl+Shift+E |
步骤
阅读沙盒页面
该框架的策略是
default-src 'none'; style-src 'unsafe-inline'; img-src data:; font-src data:。在框架看到文档之前,脚本、base、刷新元、iframe、框架、对象、嵌入、小程序和门户将被删除。未加载远程图像。可以内联指向存储库中另一个文件的样式表链接,最多 64 个资源。注意页面何时缩小
如果脚本或远程内容被删除,页面将被标记为缩小。您看到的是静态余数。离开文件的链接不会在框架内执行导航 GitTree。打开源代码以阅读被删除的部分。
编辑源,然后再次预览
在编辑器中更改文件并再次打开预览。解析器在您拥有的文本上运行。它不会从主机获取页面。当您想要历史记录中的更改时,从提交框中提交文件。预览不提交。
预期结果
该选项卡显示静态页面:内联样式和内联本地资源,没有脚本,也没有网络访问权限。预览版未更改存储库。使用“源”选项卡确认您期望的标签仍在文件中,即使框架不运行它也是如此。
删除了什么
| 元素或参考 | 会发生什么 |
|---|---|
| 脚本 | 已删除。它不运行。 |
| iframe、框架、对象、嵌入、小程序、门户 | 已删除。他们不加载。 |
| 基础和元刷新 | 已删除,因此框架无法重新定位。 |
| 远程图像或字体 URL | 未加载。仅允许数据:图像和字体。 |
| 存储库中的样式表 | 当它是前 64 个资产之一时内联。 |
政策是头脑中的第一件事,先于页面上写的任何内容。页面只能缩小该政策的范围,而不能扩大其范围。解析不会运行页面,也不会读取其命名的文件,直到预览填充其决定保留的资源为止。
HTML 和 Markdown
限制
每个资源都是一次读取,页面最多保留 64 个路径。过去的资源保持页面原有的状态,不会被拉入。一个非常大的页面每个文本都会解析一次。填充资产不会再次解析它。预览是故意离线的。它不会匹配允许运行脚本和调用网络的浏览器。
如果出现问题
该页面为空白或缺少布局。
样式可能来自远程工作表或脚本。那些没有加载。在 64 个资产限制内内联存储库中的样式,或阅读源代码。
图像丢失。
远程图像被屏蔽。当存储库中的图像成为资产限制内的 data: URL 时,就会显示该图像。检查页面使用的路径。离开存储库的路径将被删除。
按钮什么也不做。
脚本被删除。预览不会运行它们。如果必须执行该页面,并且仅针对您已读取的文件,请使用您信任的浏览器。
预览与提交的文件不匹配。
您正在查看工作副本。 git show HEAD:path 打印提交的文本。如果您希望它们匹配,请提交或丢弃。
问题
预览版是否运行 JavaScript?
否。脚本元素被删除,并且框架的策略将 default-src 设置为 none。该页面未执行。
它是否从网络加载图像?
不可以。img-src 和 font-src 仅允许数据:URL。当存储库图像在资产限制内时,它们将作为数据内联。
哪些扩展程序作为页面打开?
html、htm 和 xhtml。 Markdown 在 Markdown 预览中打开。其他文件作为源文件或差异文件打开。
页面可以放松沙箱吗?
否。首先插入框架策略。一页只能缩小范围。元刷新或基本 URL 被删除。
HTML 预览是 Pro 功能吗?
不需要。它是免费计划的一部分,不需要帐户。
