profiT
Administrator
Сообщений: 2 169
Чем проще, тем проще.
|
 |
03-03-2007, 22:29 |
|
"Сохранение страниц" -- это уже в зубах завязло. То такое сохранение, то сякое, то в этот формат, то в другой (в принципе, для меня вообще-то вопрос закрыт). Тем не менее, в прошлом декабре (нет, не в том прошлом который последний, а ещё раньше на год) мне пришла одна идейка: сделать из Canvas и MIME-типов Оперы сохранение страниц на чистом js (кто не верит -- пусть проверит: " Кто надо -- тот поймёт..."). Тогда, из-за того что CSS-стили ковырять удобно не было технической возможности -- я это дело забросил. Время шло, Opera заполучила DOM 2 Styles. Я там не спеша слегка подработал скрипт и -- что-то начало получаться. О чём и сообщил на оф. форуме: Convert2PHF.js script. Правда, в очередной раз, не получил вменяемой отдачи, несмотря на то что показал беспрецедентную вещь. И только совсем недавно я узнал как надо правильно сохранять документы через MIME-типы. Исправил это дело в скрипте -- и он заработал много лучше, даже почти стало можно пользоваться. В итоге, осталась только одна проблема -- иногда сбиваются кодировки. Как включается: Нужно подключить этот UserJS: convert2phf.js. И поставить себе кнопку, которая и будет сохранять: Save to PHF. После нажатия на кнопку сохранения Опера может впасть в долгую задумчивость конвертируя страницу. По окончании конвертирования появится диалог. Если сохраняете в первый раз, то лучше нажмите на кнопку "Изменить" рядом с типом (т.е. не в нижнем ряду диалога, где "Сохранить", "Открыть"). Там укажите в поле "Расширение" тип "htm", чтобы в дальнейшем сохраняемый этой кнопкой страницы, открывались в Опере. Можно даже указать галку чтобы сохранять страницы вообще в будущем безо всяких диалогов (см. Медитации над настройками. X-Opera), правда название при этом будет только default.htm и его не поменяешь... Страница сохранится только в одном файле. Он представляет собой единый HTML-файл (иногда -- достаточно большой) в который все картинки и стили внедрены непосредственно. Такие страницы IE открывать не умеет (да и ну его..). Остальные -- могут. Замечания: Особенной пользы не вижу (см. выше), но как демонстрация технологий или как возможный плацдарм для улучшений -- почему бы и нет?
|
|
|
|
« Последнее редактирование: 03-03-2007, 22:30 от profiT »
|
Записан
|
|
|
|
ELV1S
OperaFan Team
Сообщений: 1 435
|
 |
04-03-2007, 13:11 |
|
Идея интересная. Хотя работает довольно своебразно: в страницу добавляется включенные UserCSS и UserJS. В этом тоже конечно можно найти свои плюсы, но сейчас я вижу больше минусов.
|
|
|
|
« Последнее редактирование: 21-04-2007, 16:26 от ELV1S »
|
Записан
|
|
|
|
|
|
profiT
Administrator
Сообщений: 2 169
Чем проще, тем проще.
|
 |
06-03-2007, 13:47 |
|
После ковыряния и обновления скрипта чтобы он научился указывать кодировку и исходный адрес внутри сохраняемой страницы появилась парочка вопросов: Почему Опера корежит шрифты при выдирании стилей?.. Если нажать на кнопку сохранения этим скриптом невооружённым глазом видно что шрифт меняется... И раз надпись в Опере показалась, то отмазки вида: "этот шрифт делает неправильный мёд" не катят, поэтому шрифт правильный и поддерживается Оперой, так почему же он из стилей исчезает? И ещё: Mikivanch, можешь посмотреть?.. Я вот использовал твою функцию reloadImage() для того чтобы рисунки заданные через протокол data: не убивались в режиме "только кэшированные" ( во второй раз). Всё нормально становится, но вот только IFRAME'ы почему-то остаются в странице (хотя для именно моей задачи это можно повернуть даже и как хорошо). Может у тебя и твой image-reloader.js так мусорит, в DOM-консоли проверял?.. Кстати, по-прозрачности рисунков я тоже слегка маху дал.. Ну и, с анимированными GIF'ами уже ничего не поделаешь, никак ты не выдерешь их содержимое через Canvas..
|
|
|
|
|
Записан
|
|
|
|
369
Любитель
Сообщений: 138
Старый кот - юзер
|
 |
17-03-2007, 15:36 |
|
Приветствую! Попробовал convert2phf.js. - понравилось! Мне удобнее, чем .mht, который открывается только в ИЭ. Но у меня две проблемы: 1. Конфликт с Google-Translation-tooltip.js и link-alert.js : при наличии в папке userjs этих двух скриптов кнопка Save to PHF не срабатывает - скрипт не запускается. При удалении этих скриптов - работает нормально. Но... 2. Сохраняет файл только с названием default и без расширения (приходится вводить вручную). ( Opera-portable-personal-ru-9.10-v2 Версия 9.10 Сборка 8679 Windows XP) ( Если сохраняете в первый раз, то лучше нажмите на кнопку "Изменить" рядом с типом (т.е. не в нижнем ряду диалога, где "Сохранить", "Открыть"). Там укажите в поле "Расширение" тип "htm", чтобы в дальнейшем сохраняемый этой кнопкой страницы, открывались в Опере. - все это проделал, но настройки не сохраняются...) Попутно возникает вопрос: можно ли как-то управлять user.js (включать\выключать по одному) через интерфейс, по аналогии с .css, чтобы не лазать в папку и не таскать их туда-сюда? (Искал по форуму, но не нашел...) Спасибо!
|
|
|
|
« Последнее редактирование: 17-03-2007, 15:53 от 369 »
|
Записан
|
У меня файлы ruchki.sys и mozgi.dll кривые и битые!
|
|
|
Fidelich
Ветеран
Версия Opera: распоследняя
Сообщений: 1 427
скоро на Землю
|
 |
17-03-2007, 18:42 |
|
Мне удобнее, чем .mht, который открывается только в ИЭ. У меня mht прекрасно открывается в Опере...См. вложение
|
|
|
|
|
369
Любитель
Сообщений: 138
Старый кот - юзер
|
 |
17-03-2007, 19:41 |
|
Мне удобнее, чем .mht, который открывается только в ИЭ. У меня mht прекрасно открывается в Опере...См. вложение Спасибо, у меня так и настроено. И "Опера" установлена браузером по умолчанию. А .mht все равно (при щелчке по файлу) открывается в ИЭ...
|
|
|
|
|
Записан
|
У меня файлы ruchki.sys и mozgi.dll кривые и битые!
|
|
|
profiT
Administrator
Сообщений: 2 169
Чем проще, тем проще.
|
 |
19-03-2007, 16:20 |
|
По поводу автоматизированного включения/выключения UserJS: " Управление пользовательскими скриптами" (там несколько вариантов, в том числе и Mikivanch'а-повелителя скриптов). По поводу галиков с MHT: " Открытие MHT в Opera". А дальше... Все, так или иначе, станут говорить только в тему этой темы.
|
|
|
|
« Последнее редактирование: 19-03-2007, 16:23 от profiT »
|
Записан
|
|
|
|
profiT
Administrator
Сообщений: 2 169
Чем проще, тем проще.
|
 |
19-03-2007, 16:23 |
|
1. Конфликт с Google-Translation-tooltip.js и link-alert.js : при наличии в папке userjs этих двух скриптов кнопка Save to PHF не срабатывает - скрипт не запускается. При удалении этих скриптов - работает нормально. Принято, записано. Если сохраняете в первый раз, то лучше нажмите на кнопку "Изменить" рядом с типом (т.е. не в нижнем ряду диалога, где "Сохранить", "Открыть"). Там укажите в поле "Расширение" тип "htm", чтобы в дальнейшем сохраняемый этой кнопкой страницы, открывались в Опере. все это проделал, но настройки не сохраняются...) Угу, видел такое.. Вообще на соплях немного метода. В общем тоже требует дорасследования.
|
|
|
|
|
Записан
|
|
|
|
Lex1
Разработчик
Версия Opera: 8.54 & more
Сообщений: 3 791
|
 |
21-03-2007, 12:13 |
|
Там укажите в поле "Расширение" тип "htm", чтобы в дальнейшем сохраняемый этой кнопкой страницы, открывались в Опере. Можно даже указать галку чтобы сохранять страницы вообще в будущем безо всяких диалогов У тебя после этого обычное (ctrl+s) сохранение работает? На Opera 9.10 сохраняются файлы нулевого размера. Дополнено : 20-03-2007, 19:00
"Открыть в другой программе" глючит также. Кстати, для подобного применения, оно (Открыть в другой программе) вроде бы не хуже. Opera передаёт путь к файлу маленькой проге, которая его переименовывает/перемещает в нужную папку. Если бы не тормоза с сохранением картинок, было бы пригодно к использованию.
|
|
|
|
|
Записан
|
Sapienti sat
|
|
|
profiT
Administrator
Сообщений: 2 169
Чем проще, тем проще.
|
 |
06-04-2007, 18:00 |
|
Convert2PHF 2.62По сравнению с чисто моими версиями существенно всё это дело ускорено, облагорожено и таракано-изогнано золотыми руками Mikivanch'а. И получилась уже весьма и весьма преинтересная вещица. Вот кнопка: Save to PHF. Ту же кнопку можно взять, если вызовом в адресной строке " opera:javascript:(function(){convert2PHF.showPanel()})()" открыть панель и тянуть иконку самой панели слева-вверху. Возможности (такого среди других инструментов больше нигде нету, между прочим): - Сохранение рисунков только с текущего сервера (галка "From current domain")
- Сохранение только уже загруженных рисунков (галка "Already loaded")
- Возможность выбора какие скрипты оставлять в выходном документе: все ("all"), только внедрённые на страницу ("inline"), или вообще убрать все скрипты ("none")
- Изменения сделанные на странице, сохраняются в выходном документе
- Реализация только "чистыми" внутри-Оперными средствами (без exe-файлов, без плугинов, без цепляющихся резидентных библиотек, без хуков...)
Недостатки: - IE отдыхает, не будучи способным открывать PHF-страницы
- Относительная медленность по сравнению с другими методами
- Анимированные GIF'ы отдыхают (или это не недостаток?)
- PHF распухает довольно сильно (из-за неэффективного текстового кодирования в base64)
Вследствие того что изменения идут в выходной документ получается то что кнопки подобные Kill (конкретно, вот эта кнопка: Почикать страницу) приобретают смысл. Есть также MyPage -- это уже целое комплексное решение для редактирования со своими кнопками и прочим. То есть: можно вручную порезать что не нравится на странице и сохранить. Кто-нибудь зацените это дело в Линуксе: неужели и там заработает?.. У нас у обоих его нету под рукой.
|
|
|
|
« Последнее редактирование: 06-04-2007, 18:03 от profiT »
|
Записан
|
|
|
|
Lex1
Разработчик
Версия Opera: 8.54 & more
Сообщений: 3 791
|
 |
06-04-2007, 20:57 |
|
Галочка "Сохранить без рисунков" была бы небесполезной. Равно как и кнопка "Сохранять без запросов" P.S.Вышеописанный баг можно обойти используя iframe. Дополнено : 06-04-2007, 19:10
Недостатки: Основной недостаток (после скорости), это отсутствие нормального имени у файла  Сделал простенькую прогу (10kb) берущую имя из <TITLE> и копирующую файл в папку "Мои документы\Web" с автопереименованием если такой файл уже существует. Укажите в MIME-типе "Открыть в другой программе" (галочка не нужна) phf.exe.
|
|
|
|
|
Записан
|
Sapienti sat
|
|
|
profiT
Administrator
Сообщений: 2 169
Чем проще, тем проще.
|
 |
06-04-2007, 21:04 |
|
Имя же можно вводить, если сохранять с запросом. На то и расчитано изначально.
|
|
|
|
|
Записан
|
|
|
|
Lex1
Разработчик
Версия Opera: 8.54 & more
Сообщений: 3 791
|
 |
06-04-2007, 21:26 |
|
Имя же можно вводить Можно. Но делать это каждый раз неудобно. Пересохранение локальных страниц не работает? JavaScript - file://localhost/C:/My/save_phf.html Javascript URL thread: "javascript:(function(){opera.convert2PHF()})()" Error: name: ReferenceError message: Security error: attempted to read protected variable
|
|
|
|
|
Записан
|
Sapienti sat
|
|
|
Mikivanch
Moderator
Версия Opera: 10.10 1893
Сообщений: 740
|
 |
07-04-2007, 01:34 |
|
Lex1Пересохранение локальных страниц не работает? Должно работать. Для какой-страницы не работает? Иногда вылезает ошибка безопасности, связанная с конвертированием картинок. Еще хочу заметить: 1) Jpeg картинки конвертируются в png. 2) Фоновые картинки сохраняются только с текущего домена. 3) Если отображаются только кэшированные картинки, скрипт сначала подгружает картинки, которые будут конвертированы. Затем загружает в кэш конвертированные картинки. Скорость при сохранении только локальных картинок вполне приемлемая (если картинки уже загружены в кэш). Сохранение картинок с других доменов пока сделано неоптимально. Будем переделывать. Вопрос к тем, кто использует скрипт. Какие опции еще нужны? Следует ли очищать страницу от элементов, созданных пользовательскими скриптами?
|
|
|
|
« Последнее редактирование: 07-04-2007, 01:39 от Mikivanch »
|
Записан
|
|
|
|
369
Любитель
Сообщений: 138
Старый кот - юзер
|
 |
07-04-2007, 10:54 |
|
Спасибо за работу над скриптом. К сожалению, у меня новый скрипт не работает  После установки скрипта и кнопки кнопка вызывала первый диалог с настройками сохранения ( http://www.puzzleclub.ru/files/convert2phf_2.62.png), но при нажатии на "ОК" или "Cancel" ничего не происходило, диалог оставался висеть. После перезагрузки"Опера" - то же самое, только диалог исчезает после нажатия кнопок, но ничего более не происходит... Opera PortableВерсия 9.10 Сборка 8679 Платформа Win32 Система Windows XP (Предыдущая версия convert2PHF.js, как я выше писал, на этой же сборке хоть как-то работала...) Все имеющиеся user.js выключены. 
|
|
|
|
|
Записан
|
У меня файлы ruchki.sys и mozgi.dll кривые и битые!
|
|
|
|