如何在浏览器窗口中打开 C 程序文件?

Laz*_*zer 6 browser google-chrome

我使用谷歌浏览器,我想开.c.cpp文件,在浏览器本身的文本。有没有办法做到这一点?

小智 5

经过一番调查,我发现至少对于本地文件,您可以通过在 ~/.local/share/mime/globs2 中定义首选的 mime 类型来覆盖它,如下所示:

    > cat ~/.local/share/mime/globs2
    10:text/plain:*.c
    10:text/plain:*.cc
    10:text/plain:*.c++
    10:text/plain:*.cpp
    10:text/plain:*.h
Run Code Online (Sandbox Code Playgroud)

第一个字段是优先级(数字越小越重要),然后是 mime 类型,然后是您匹配的模式。对于 .c、.h 等,默认规则 (/usr/local/share/ ...) 的优先级为 50。

对于远程提供的文件,浏览器依赖于服务器提供的 MIME 类型,上述技巧不起作用。

查看 Chromium 来源

chromium-courgette-redacted-18.0.1025.162/net/base/mime_util.cc
Run Code Online (Sandbox Code Playgroud)

似乎可以通过将我们要显示的类型列表添加到数组来实现部分修复

 static const char* const supported_non_image_types[] = {
    ...
+       "text/x-csrc",
+       "text/x-chdr",
    ...
 }
Run Code Online (Sandbox Code Playgroud)

也许我们可以为 FreeBSD 端口提供一些可选补丁,尽管我更愿意找到一种方法来以不需要重建 Chrome 的方式覆盖服务器提供的 mime 类型。

无论如何,至少对于本地浏览而言,这似乎是一个重大改进。


Way*_*ton 0

恐怕这是不可能的。由于文件是 Gmail 邮件中的附件,因此必须在 Gmail Web 应用程序中使用查看器才能查看它们。它没有查看器,因此查看该文件的唯一方法是下载它。

为什么?

  • 文件和电子邮件位于 Gmail 服务器上。当您在浏览器中查看电子邮件时,服务器会创建一个包含电子邮件内容的网页。您的浏览器为您显示网页内容。所有传输到您电脑上的内容就是您在屏幕上看到的内容。
  • 该网页包含附件的链接。它们仅指向附件,因此单击它们即可开始下载。实际的附件文件存储在 Gmail 服务器上。
  • Gmail 为某些类型的文件提供查看器。当您单击“查看”链接时,Gmail 服务器会构建一个包含附件内容的网页。对于其他类型的文件(世界上大多数文件类型),Gmail 不会执行此操作。可以,但是现在还没有这个功能。因此,您唯一的选择就是将文件从 Gmail 服务器下载到您的 PC,以便您可以查看它。