Приветствую всех. Вот какой замысловатый вопрос нарисовался.
Я сделал логгер на Javascript'е. Это HTML-страничка, которая позволяет записать и запомнить (через SavеAs) необходимую информацию для последующего прочтения-изменения. Инфа эта хранится на локальном диске прямо внутри HTML'а и позволяет, таким образом, вести простые логи (я делал логи по моим подведомственным компам, принтерам и т.д.). Поскольку Мозилла работает и из-под виндов, и из-под линукса, поскольку браувер есть на любой машине, поскольку снимается проблема с кодировкой - это очень удобно сисадминам.
Чего-то аттач не могу приделать, не вижу таковой кнопки тут, на форуме. Но если надо, скину желающим.
Переходим к вопросу. Под мозиллой логгер работает замечательно. А вот под IE6 и, как выяснилось, под Оперой, присутствует такой неприятный момент: они после SaveAs сохраняют содержимое страницы ДО добавления текста. То есть, они перечитывают страницу (или используют кэшевую версию страницы) при сохранении, а не использует её изменённый контент.
Вопрос такой: а как правильно-то? Как Мозилла? Или как Опера и ИЕ? Где-то есть спецификации для браусверов по этому вопросу? И если есть, то можно ли поменять (и что) в настройках IE для того, чтобы сохранялось изменённое пользователем содержимое документа? Если нет, то как заставить Мозиллу не делать того, что она делает?
P.S. Хотя особенно мне это не нужно, вопрос просто из врождённой любознательности, очень уж зацепило. Я так рассчитывал на кроссбраусверность, а тут такой подвох...
P.P.S. Выложил: Логгер. У меня ещё есть "Банк паролей", такого же плана HTML-приложение (хранит внутри хитрозакриптованную инфу) с возможностью менять информацию. Тоже, получается, работать будет только под Мозиллой (читать-то можно её любым браусвером, а вот менять - фигушки). Ещё и поэтому мне очень интересно узнать всё же ответ на свой вопрос...
Надеюсь на помощь...
Отредактировано hasherfrog (20-01-2006 23:02:11)
Отсутствует
Видимо, Мозилла сохраняет через DOM, а другие сохраняют сам файл...
Отсутствует
hasherfrog
По сути ничего не скажу, из практики - Мозилла, Симанки и Файрфокс сохраняют страницу такой, какой они получили её от сервера, если сохранять только стр, без картинок.
Просмотреть можно через
View -> Page Source
Если сохранять с картиками, то стр сохраняется переформатированная (видимо через DOM), со всеми добавками от скриптов и расширений.
Просмотреть DOM Source можно, выделив всё на странице и в контекстном выбрать
View Selection Source
Ещё есть расширение View Source With - в нём можно назначить просмотр или просто сырцов или дом.
как заставить Мозиллу не делать того, что она делает?
Сохранять только стр без подключаемых объектов. Только тогда и ссылки будут относительные, а не абсолютные и др мелочи.
Отсутствует
hasherfrog
Чего-то аттач не могу приделать, не вижу таковой кнопки тут, на форуме. Но если надо, скину желающим.
На будущее - http://forum.mozilla.ru/uploads.php
Отсутствует
Web Developer Extension в последней версии предоставляет возможность отправить код в какое-нибудь приложение, открыть код как через меню или Ctrl+U, и открыть сгенерированный код, причем делает это как раз автоматически выделяя всю страницу.
Отсутствует
IE-only:
<meta name="save" content="snapshot">
<style>html * {behavior:url(#default#savesnapshot);}</style>
<script>
document.styleSheets[0].cssText = "html * {behavior:url(#default#savesnapshot);}";
</script>подробнее
Предложения по улучшению принимаются.
Отсутствует
Mash, огромное спасибо.
Сейчас поразмыслим... :]
Unghost
Понял, спасибо за указание.
Отсутствует
Теперь работает для FF и IE.
Осталось с Оперой разобраться...
Версия 2
Прим. 1: В Mozilla FF появился неприятный эффект: "фонит" сообщение
Error: Unknown property 'behavior'. Declaration dropped.
Source File: file:///C:/Temp/template2.html
Line: 179
Прим. 2: В IE - "Сохранять как" "Веб-страница полностью".
Но уже гораздо более удобно, в плане того, что IE можно использовать.
Отсутствует
Для того, чтобы убрать "фон" в Mozilla: всё ИЕшное можно поместить в "Conditional comments"
(здесь я подразумеваю, что человек работает только или в Mozilla, или в IE, т.к. при сохранении, насколько я помню, IE "потрёт" эти Ccomments)
Отредактировано Mash (23-01-2006 12:36:12)
Отсутствует
Mash, есть, поправил.
Спасибо огромное в очередной раз :]
>> IE "потрёт"
Да вроде всё нормально работает, и в IE-6, и в FF-1.5.
Никто из них не затирает "условный" комментарий.
Это есть "гуд", однозначно :]
Если только старые версии, не прокатят, не знаю.
Но мгне и не надо пока :]
____
Попутно исправил маленькую багу :]
У меня же два поля надо было сохранять, а не одно; я и забыл на радостях... :-Р
Отсутствует