<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; JScript: Пример сохранения web-страницы в TXT, HTML и MHT (веб-архив)]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=871</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=871&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «JScript: Пример сохранения web-страницы в TXT, HTML и MHT (веб-архив)».]]></description>
		<lastBuildDate>Thu, 22 Nov 2007 06:11:45 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[JScript: Пример сохранения web-страницы в TXT, HTML и MHT (веб-архив)]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=6245#p6245</link>
			<description><![CDATA[<p>Скрипт загружает страницу из интернета и сохраняет ее в трех форматах:<br />1. текстовом - аналогично сохранению файла в IE с типом файла &quot;Текстовый файл (*.txt)&quot;<br />2. исходный код страницы<br />3. веб-архив MHT.</p><p>Одна тонкость - MHT формируется библиотекой CDO с ошибкой - когда в веб-архив внедрен внешний CSS файл (&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;file.css&quot; /&gt;), то ссылку на него библиотека указывает неверно, вследствие чего страница из mht отображается без стиля из этого файла. Если же css-таблица вписана в сам html-исходник с помощью тега &lt;style&gt;, то тогда все отображается верно.</p><div class="codebox"><pre><code>// идея взята с RSDN, автор Alexey Goncharov
// переработка моя
var wsh = new ActiveXObject(&quot;WScript.Shell&quot;);
var Message = new ActiveXObject( &quot;CDO.Message&quot; ) ;
var Config  = new ActiveXObject( &quot;CDO.Configuration&quot; ) ;

var cdoSuppressNone        = 0;  // загружать все
var cdoSuppressImages      = 1;  // не загружать картинки
var cdoSuppressBGSounds    = 2;  // не загружать фоновые звуки
var cdoSuppressFrames      = 4;  // не загружать фреймы
var cdoSuppressObjects     = 8;  // не загружать объекты
var cdoSuppressStyleSheets = 16; // не загружать таблицы стилей
var cdoSuppressAll         = 31; // не загружать ничего из вышеперечисленного

var Flag = cdoSuppressNone;
var UserName = &#039;&#039;;
var Password = &#039;&#039;;

Message.Configuration = Config;
Message.AutoGenerateTextBody = true;

Message.CreateMHTMLBody( &quot;http://www.yandex.ru&quot;, Flag) ;

// сохранить страницу как txt
var Stream = Message.TextBodyPart.GetEncodedContentStream(); // поток по умолчанию в юникоде
Stream.Charset = &#039;ascii&#039;;  // что ни ставь все равно перекодируется в системную по умолчанию кодировку
Stream.SaveToFile( &quot;Page.txt&quot;, 2 );

// сохранить страницу как html
var Stream = Message.HTMLBodyPart.GetEncodedContentStream(); // поток по умолчанию в юникоде
Stream.Charset = &#039;ascii&#039;;  // что ни ставь все равно перекодируется в системную по умолчанию кодировку
Stream.SaveToFile( &quot;Page.htm&quot;, 2 );

// сохранить страницу как веб-архив .MHT
var Stream = Message.BodyPart.GetStream();
Stream.SaveToFile( &quot;Page.mht&quot;, 2 );</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (delpher)]]></author>
			<pubDate>Thu, 22 Nov 2007 06:11:45 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=6245#p6245</guid>
		</item>
	</channel>
</rss>
