Итак, задался темой вывести часть данных со страницы в ворд. Сделал так: сначала открываю новую вкладку, потом в неё выношу нужные данные и у новой страницы меняю хидер через php.
В яваскрипте самой страницы на кнопку vWord срабатывает такое (тут на jQuery, но и на обычном js можно легко сделать):
- $('#vWord').live("click", function (){
- file_name = ...; //тут подготавливаю удобное название будующего doc файла
- page_text = "<html><body onload='document.forms[0].submit();'>"+$('#doc').html()+
- "<form action='"+location.href+"' method='POST'><input type=hidden name='vWord' value='"+
- $('#doc').html() + "'><input type=hidden name='file_name' value='"+file_name+"'></form></body></html>"; //$('#doc').html() - нужный кусок страницы
- print_window = window.open(); // создаем новую вкладку
- print_window.document.write(page_text); // записываем в неё данные страницы
- print_window.document.location.reload(); // т.к. записали после открытия, с этим перегружаем её
- })
Суть такова, что подготавливаем на основной странице название будущего файла, выдираем нужный текст и открываем страницу (вкладку), где всё это помещаем в форму. В принципе если имя не особо важно, подставить его можно сразу напряму в php, и не передавать уже. На загрузку страницы, она сама отправляет данные формы (текст и название файла) на php от основной страницы. А там этому делу меняем хидер на вордовский и возвращаем под названием переданный текст:
- echo "<html><body>";
- echo $_POST['vWord'];
- echo "</body></html>";
- }
В общем, на новой вкладке выскочит нужный кусок и предложение сохранить вордовский файл. Другое дело, что надо юзерам разрешить открытие окон.