CommonHelpPage.vue 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <template>
  2. <div class="page">
  3. <h4>Возможности читалки:</h4>
  4. <ul>
  5. <li>загрузка любой страницы интернета</li>
  6. <li>изменение цвета фона, текста, размер и тип шрифта и прочее</li>
  7. <li>установка и запоминание текущей позиции и настроек в браузере и на сервере</li>
  8. <li>синхронизация данных (настроек и читаемых книг) между различными устройствами</li>
  9. <li>кэширование файлов книг на клиенте и на сервере</li>
  10. <li>открытие книг с локального диска</li>
  11. <li>плавный скроллинг текста</li>
  12. <li>анимация перелистывания</li>
  13. <li>поиск по тексту и копирование фрагмента</li>
  14. <li>запоминание недавних книг, скачивание книги из читалки в формате fb2</li>
  15. <li>управление кликом и с клавиатуры</li>
  16. <li>подключение к интернету не обязательно для чтения книги после ее загрузки</li>
  17. <li>регистрация не требуется</li>
  18. <li>поддерживаемые браузеры: Google Chrome, Mozilla Firefox последних версий</li>
  19. </ul>
  20. <p>В качестве URL книги можно задавать html-страничку с книгой, либо прямую ссылку
  21. на файл из онлайн-библиотеки (например, скопировав адрес ссылки или кнопки "скачать fb2").</p>
  22. <p>Поддерживаемые форматы: <b>fb2, fb2.zip, html, txt</b> и другие.</p>
  23. <p>Для автономной загрузки читалки (без интернета):<br>
  24. В Google Chrome можно установить флаг <span class="clickable" @click="copyText('chrome://flags/#show-saved-copy')">chrome://flags/#show-saved-copy</span>
  25. в значение "Primary". В этом случае на стандартной странице "нет соединения" появится кнопка для автономной загрузки сайта из кэша.<br>
  26. В Mozilla Firefox в автономном режиме сайт загружается из кэша автоматически. Если этого не происходит, можно установить опцию
  27. "Веб-разработка" -> "Работать автономно".</p>
  28. <div v-html="automationHtml"></div>
  29. <p>Связаться с разработчиком: <a href="mailto:bookpauk@gmail.com">bookpauk@gmail.com</a></p>
  30. </div>
  31. </template>
  32. <script>
  33. //-----------------------------------------------------------------------------
  34. import Vue from 'vue';
  35. import Component from 'vue-class-component';
  36. import {copyTextToClipboard} from '../../../../share/utils';
  37. export default @Component({
  38. })
  39. class CommonHelpPage extends Vue {
  40. created() {
  41. this.config = this.$store.state.config;
  42. }
  43. get automationHtml() {
  44. if (this.config.mode == 'omnireader') {
  45. return `<p>Вы также можете добавить в свой браузер закладку, указав в ее свойствах вместо адреса следующий код:
  46. <br><strong>javascript:location.href='http://omnireader.ru/?url='+location.href;</strong>
  47. <br>Тогда, нажав на получившуюся кнопку на любой странице интернета, вы автоматически откроете ее в Omni Reader.</p>`;
  48. } else {
  49. return '';
  50. }
  51. }
  52. async copyText(text) {
  53. const result = await copyTextToClipboard(text);
  54. const msg = (result ? `Ссылка на флаг успешно скопирована в буфер обмена. Можно открыть ее в новой вкладке.` : 'Копирование не удалось');
  55. if (result)
  56. this.$notify.success({message: msg});
  57. else
  58. this.$notify.error({message: msg});
  59. }
  60. }
  61. //-----------------------------------------------------------------------------
  62. </script>
  63. <style scoped>
  64. .page {
  65. flex: 1;
  66. padding: 15px;
  67. overflow-y: auto;
  68. font-size: 120%;
  69. line-height: 130%;
  70. }
  71. h4 {
  72. margin: 0;
  73. }
  74. .clickable {
  75. color: blue;
  76. text-decoration: underline;
  77. cursor: pointer;
  78. }
  79. </style>