Просматривая хранилище Subversion с использованием Firefox и URL-адреса http
(s
):
я хочу быстро взглянуть на текстовые файлы в самом браузере. Однако, хотя Firefox отображает неизвестные типы файлов в виде текста, когда я щелкаю заголовок C, он предлагает только сохранить его или открыть его в MSVS (Visual Studio), а не отображать.
Требования
- Нужно иметь возможность открыть ссылку в виде текста в браузере в той же или новой вкладке или окне.
- Желательно также сохранить возможность сохранить или открыть в приложении
- Желательно, чтобы это можно было сделать, просто щелкая мышью.
- Хотя проблема может быть связана с сервером Subversion, решение для произвольных сайтов явно предпочтительнее.
- Хорошим дополнением было бы, если бы можно было настроить поведение по-разному для сайта или страницы.
Ограничения
- Вряд ли я смогу изменить какие-либо настройки на сервере Subversion. (Я могу нормально вносить изменения в файлы и атрибуты.)
Идеи и попытки
Я подозреваю, что текущее поведение объясняется тем, что .h
является известным типом файла, но раньше он вел себя по-другому, даже если MSVS был установлен; однако сервер, возможно, был старше.
Я надеялся, что выбрав «Открыть с помощью блокнота» + «Сделать это автоматически», он появится в меню «Параметры / Приложения», что позволит мне изменить его, но сначала это не сработало, пока я не подумал об обновлении страницы параметров! Но даже тогда у меня есть только выбор загрузки или открытия с приложением, в то время как я хочу открыть его как текст на вкладке Firefox.
Ручной префикс view-source:
к URL элемента репозитория работает.
Мне приходит в голову, что определение «приложения», которое открывает URL с префиксом view-source:
в Firefox (на новой вкладке или в том же), может работать.
(2017-01-13) Использование Firefox Network Monitor Я вижу, что файл поставляется с текстом MIME-типа text/x-c
. Связанная информация в mimeTypes.rdf
:
<RDF:li RDF:resource="urn:mimetype:text/x-c"/>
…
<RDF:Description RDF:about="urn:mimetype:externalApplication:text/x-c"
NC:prettyName="notepad.exe"
NC:path="C:\Windows\System32\notepad.exe" />
…
<RDF:Description RDF:about="urn:mimetype:handler:text/x-c"
NC:alwaysAsk="true">
<NC:externalApplication RDF:resource="urn:mimetype:externalApplication:text/x-c"/>
<NC:possibleApplication RDF:resource="urn:handler:local:C:\Windows\System32\notepad.exe"/>
</RDF:Description>
…
<RDF:Description RDF:about="urn:mimetype:text/x-c"
NC:value="text/x-c"
NC:editable="true"
NC:fileExtensions="h"
NC:description="C/C++ Header">
<NC:handlerProp RDF:resource="urn:mimetype:handler:text/x-c"/>
</RDF:Description>
Следуя ответу Бена, установка свойства Subversion svn:mime-type
↦ text/plain
решает проблему - затем она обрабатывается как таковая, но если это не требуется, можно использовать документацию Mozilla для mimeTypes.rdf, чтобы изменить обработка text/x-c
- но мне не понятно как.
Смежные вопросы
- Как сделать так, чтобы Firefox автоматически сохранял текстовые файлы вместо открытия в браузере - это наоборот: они хотят предотвратить его открытие в браузере; Я хочу заставить или предложить это.
- Firefox - Как открыть ссылку (на любой текстовый файл) в Vim? - Это о включении нужного приложения в список. Здесь упоминается интересное расширение Open with, но это не очень помогает.
- Как сделать так, чтобы Google Chrome отображал текстовый HTTP-ответ, а не загружал его в файл? - Это относится к Google Chrome и, похоже, не предлагает решения. Однако это может объяснить изменение в поведении: использование
Content-disposition: attachment
в заголовке? Трюк с префиксомview-source:
к URL-адресу работает (для.h
), но требует ручного вмешательства. - Сделайте так, чтобы Chrome всегда открывал PDF-файлы сам по себе - это относится к Google Chrome, но несколько похоже; в нем также упоминается перенаправление расширения Chrome для удаления
Content-disposition: attachment
, но я не вижу там никакой документации. - Как сделать Firefox аннотировать ссылки, которые указывают на файлы, такие как PDF, которые не будут открыты в Firefox? - Звучит достаточно мощно, чтобы выполнять работу, но включает в себя некоторое программирование и обучение, если сценарий не доступен.
Заметки
- Тег с [svn], поскольку это может зависеть от того, как ссылки обслуживаются.
- Помечен [windows], поскольку это может зависеть от известных типов файлов, определенных в MS Windows.
- Сервер Subversion - это TeamForge/CollabNet © 2014 ¿, который не может получить версию ни одним из методов в SO / как найти мой номер версии сервера? ,