<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; VBS: IE9 - как такое возможно?]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=8001&amp;type=atom" />
	<updated>2013-01-25T14:54:53Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=8001</id>
		<entry>
			<title type="html"><![CDATA[Re: VBS: IE9 - как такое возможно?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=68853#p68853" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Slav пишет:</cite><blockquote><p>2. И все это абсолютно не работает в Windows 7 (64 разряда) под IE9.</p><p>Ошибка возникает при попытке использовать objIE.document .</p></blockquote></div><p>Замечу, что пример, приведенный в первом посте, работает у меня без ошибок.<br />Windows 7 Домашняя Базовая, Service Pack 1, x64<br />IE 9.0.8112.16421, Выпуски обновления 9.0.12 (KB2761465).<br />В диспетчере появляется 2 процесса iexplore.exe, типичные для моей системы при CreateObject(&quot;InternetExplorer.Application&quot;):<br />CommandLine: &quot;C:\Program Files (x86)\Internet Explorer\iexplore.exe&quot; SCODEF:13628 CREDAT:145409<br />CommandLine: &quot;C:\Program Files (x86)\Internet Explorer\iexplore.exe&quot; -Embedding</p>]]></content>
			<author>
				<name><![CDATA[omegastripes]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=29228</uri>
			</author>
			<updated>2013-01-25T14:54:53Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=68853#p68853</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: IE9 - как такое возможно?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=68813#p68813" />
			<content type="html"><![CDATA[<p>Решение.</p><p>Перед тем как сообщить правильный ответ несколько граблей, по которым я прошел - чтобы вы не теряли время на тупиковые ветки в дальнейшем.</p><p>ИНТЕРНЕТу такая проблема знакома.</p><p>Много времени потратил на тезис <span class="bbu">IE9 не поддерживает свойство .document </span>.<br />Многостраничные темы посвящены обсуждению этого тезиса!<br />Это <span class="bbu">не так</span> - убедиться можно легко, если вместо локального HTML-файла попробовать открыть любой сайт.<br />Жаль, что я догадался это сделать слишком поздно.</p><p>Второе глобальное направление решения этой проблемы - напихать в заголовок локального HTML-файла как можно больше тегов, которые якобы заставят IE9 перейти в режим совместимости с IE8.<br />В моем первом посте можно видеть результаты проработки этого решения - <span class="bbu">дело не в этом</span>.</p><p>Причина в следующем:<br />IE9 при открытии локального HTML-файла, создает новый child process, в который и грузит HTML-файл.<br />При этом содержимое этой страницы родительскому объекту IE9 элементарно не видно.<br />Почему это так - объяснить не могу.<br />Могу предложить может быть и не слишком изящный, но вполне работающий выход:</p><div class="codebox"><pre><code>&#039; IE9

  Set objIE = CreateObject(&quot;InternetExplorer.Application&quot;)
    objIE.Navigate(&quot;c:\temp\zzViewZ.htm&quot;)
    Do While objIE.Busy : Wscript.Sleep 500 : Loop

&#039; какая версия IE ?
  Set objFSO = CreateObject(&quot;Scripting.FileSystemObject&quot;) 
    strVer = objFSO.GetFileVersion(&quot;C:\Program Files\Internet Explorer\iexplore.exe&quot;)
    strVer = Mid(strVer, 1, 1)    
  Set objFSO = Nothing 

&#039;  это IE9 - ищем объект, в который загружен наш файл 
If (strVer = &quot;9&quot;) Then
  Set objIE = Nothing
  
  Do While (objIE Is Nothing)
    Set objShellApp = CreateObject(&quot;Shell.Application&quot;)
    For Each objWindow In objShellApp.Windows
      If LCase(objWindow.LocationName) = LCase(&quot;zzViewZ.htm&quot;) Then
          Set objIE = objWindow
          &#039; WScript.Echo objWindow.LocationName
      End If
    Next
    If (objIE Is Nothing) then Set objShellApp = Nothing
    Wscript.Sleep 500
  Loop
End If
&#039; дальше - как обычно

  objIE.Top = 0
  objIE.Left = 0
  objIE.Height = objIE.document.parentWindow.screen.height - 28
  objIE.Width = objIE.document.parentWindow.screen.width

  objIE.Visible = True
  
    WScript.Echo &quot;123&quot;

  WScript.Quit 0</code></pre></div><p>Да, еще одно.<br />Эта ошибка плохо идентифицируется еще и потому, что появляются как минимум 2 разных сообщения:<br />- The object invoked has disconnected from its client. (80010108)<br />- Unspecified error (80004005)</p>]]></content>
			<author>
				<name><![CDATA[Slav]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=16491</uri>
			</author>
			<updated>2013-01-24T11:08:15Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=68813#p68813</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[VBS: IE9 - как такое возможно?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=68797#p68797" />
			<content type="html"><![CDATA[<p>Коллеги,</p><p>здравствуйте.<br />Второй день не могу решить простую задачу.</p><p>1. Этот скрипт (вкратце) работал и работает под WindowsXP - абсолютно никаких проблем:<br />Сам скрипт:<br /></p><div class="codebox"><pre><code>&#039; IE9

  Set objIE = CreateObject(&quot;InternetExplorer.Application&quot;)
    objIE.Navigate(&quot;c:\temp\zzViewZ.htm&quot;)
    Do While objIE.Busy : Wscript.Sleep 500 : Loop
  objIE.Top = 0
  objIE.Left = 0
  objIE.Height = objIE.document.parentWindow.screen.height - 28
  objIE.Width = objIE.document.parentWindow.screen.width

  objIE.Visible = True
  
    WScript.Echo &quot;123&quot;

  WScript.Quit 0</code></pre></div><p>Тестовая HTML-страница - сохранить в c:\temp\zzViewZ.htm :<br /></p><div class="codebox"><pre><code>&lt;!DOCTYPE html&gt;
&lt;html class=&quot;i-ua_js_no i-ua_css_standart  m-sandbox i-ua_browser_msie&quot; lang=&quot;ru&quot;&gt;
&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=EmulateIE7,IE=edge&quot;&gt;
&lt;/head&gt;

&lt;body&gt;

one two three

&lt;/body&gt;

&lt;/html&gt;</code></pre></div><p>2. И все это абсолютно не работает в Windows 7 (64 разряда) под IE9.</p><p>Ошибка возникает при попытке использовать objIE.document .</p><p>Перечитал много всего.<br />Выводы пугают количеством предстоящих переделок скриптов под Windows 7 + IE9.<br />Прошу помочь разобраться.</p><p>Спасибо.</p>]]></content>
			<author>
				<name><![CDATA[Slav]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=16491</uri>
			</author>
			<updated>2013-01-23T10:29:26Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=68797#p68797</id>
		</entry>
</feed>
