|
|
|
| Исходный файл TEST.HTM
<body>
<div id="report">
<table>
<tr>
<th>Название</th><th>Код</th><th>Позиция</th>
</tr>
</table>
</div>
<input type="button" value="Сохранить рапорт" onclick="saveReport('R17_081')"/>
<script>
function saveReport(name){
var rep=document.getElementById("report").innerHTML;
rep="<head>"+
"<meta http-equiv='Content-Type' content='text/html; charset=windows-1251'/>"+
"<title>"+name+"</title>"+
"</head>"+
"<body>"+rep+"</body>";
var win=open("",name,"");
win.document.open();
win.document.write(rep);
win.document.close();
}
</script>
</body>
Нажимаем кнопку «Сохранить Рапорт». При помощи JavaScript открываем окно, в окно записываем рапорт, затем пытаемся сохранить рапорт на диске. Выбираем в меню браузера «Сохранить как»
Internet Explorer 6 предлагает сохранить рапорт под именем 'R17_081' , но
1. если выбрать сохранить «Веб-страница полностью (*.htm,*.html)», то сохраняет не рапорт, а файл TEST.HTM
2. если выбрать сохранить «Веб-страница, только HTML (*.htm,*.html)», сохраняется рапорт, но не в кодировке «windows-1251»
FireFox предлагает сохранить рапорт не под именем 'R17_081', а под именем TEST.HTM
1. если выбрать сохранить «Веб-страница полностью», то сохраняет рапорнт не в кодировке «windows-1251», а в кодировке UTF-8
2. если выбрать сохранить «Веб-страница, только HTML», то сохраняет не рапорт, а файл TEST.HTM
Если пытается рапорт сохранить обычный пользователь (женщина - оператор), то у него (нее) от всех этих «хитростей» крыша едет.
Как оператору сохранить рапорт в нормальной (windows-1251) кодировке без всяких этих неожиданностей? | |
|
|
|
|
|
|
|
для: K
(07.12.2009 в 14:56)
| | >"Если пытается рапорт сохранить обычный пользователь (женщина - оператор), то у него (нее) от всех этих «хитростей» крыша едет."
А чего это у вас "женщина-оператор" пользуется разными браузерами?
Или у вас несколько разных "женщин-операторов" и у каждой - свой вкус, а вы по своей натуре "истинный джентльмен" и никак не можете обязать всех женщин пользоваться ОДНИМ браузером? :-)
Браузерные функциональные "примочки" (в том числе и "Сохранение файла") естественным образом различаются и ВСЕГДА будут различаться (браузеры проектируют РАЗНЫЕ команды разработчиков с разным видением "удобств для пользователя").
Никакое ваше скриптовое решение НЕ СМОЖЕТ изменить функциональные возможности этих "примочек".
Потому выходов у вас два:
1. или творить ПОЛНОСТЬЮ СВОЙ внебраузерный интерфейс
2. или же работать на "одном поле по единым правилам", т.е. всем использовать какой-то один браузер. В последнем случае порекомендовал бы использовать именно браузер MSIE с 4-й версии, ибо в нём реализована возможность СКРИПТОВОГО сохранения файлов на локальном диске пользователя - FileSystemObject. | |
|
|
|