<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: XMLHttpRequest object]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=10846&amp;type=atom" />
	<updated>2015-09-23T07:44:01Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=10846</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: XMLHttpRequest object]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=97653#p97653" />
			<content type="html"><![CDATA[<p>А вот и минусы метода:<br /><a href="http://ahkscript.org/boards/viewtopic.php?f=7&amp;t=9554&amp;p=52984#p52984">http://ahkscript.org/boards/viewtopic.p … 984#p52984</a></p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2015-09-23T07:44:01Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=97653#p97653</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: XMLHttpRequest object]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=96242#p96242" />
			<content type="html"><![CDATA[<p>Недавно был подобный <a href="http://forum.script-coding.com/viewtopic.php?pid=95813#p95813">вопрос</a>. Ведь в теле страницы есть и содержимое скрипта, и данные для обработки.<br />Возможно же как то загрузить только текстовое содержимое в какую то среду типа &quot;htmlfile&quot; или что то другое, и использовать возможности имеющихся на странице скриптов, браузер же это как то так делает?</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2015-08-04T20:47:46Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=96242#p96242</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: XMLHttpRequest object]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=96241#p96241" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>_gruz пишет:</cite><blockquote><p>попробуйте так</p></blockquote></div><p>С какого перепугу?<br /></p><div class="quotebox"><cite>_gruz пишет:</cite><blockquote><div class="codebox"><pre><code>StrLen(clp)</code></pre></div></blockquote></div><p>Что такое clp?<br /></p><div class="quotebox"><cite>_gruz пишет:</cite><blockquote><div class="codebox"><pre><code>HttpObj1.Open(&quot;GET&quot;,_G,true)                    ;the third parameter means, that it will be working asynchronously</code></pre></div></blockquote></div><p>Не проще ли false, т.е. synchronously, и никакой Sleep не нужен?<br /></p><div class="quotebox"><cite>_gruz пишет:</cite><blockquote><div class="codebox"><pre><code>Sleep, 5000
    If (HttpObj1.Status) MsgBox % HttpObj1.ResponseText
</code></pre></div></blockquote></div><p>И даже, если оставить третьим параметром true, ни в коем случае не пробуйте делать так!<br />Лучше уж<br /></p><div class="codebox"><pre><code>HttpObj1.WaitForResponse()
MsgBox % HttpObj1.ResponseText
</code></pre></div><p>или<br /></p><div class="codebox"><pre><code>
while not HttpObj1.Status
    Sleep 100
MsgBox % HttpObj1.ResponseText
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[shiz]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26249</uri>
			</author>
			<updated>2015-08-04T20:45:19Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=96241#p96241</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: XMLHttpRequest object]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=96240#p96240" />
			<content type="html"><![CDATA[<p>Так смысл всего этого был в том, чтобы нажать кнопку. Так, что этот вариант не подходит.<br />Вот я наткнулся на такой код и там пишут, что кнопка не нажимается из-за того, что <br /></p><div class="quotebox"><blockquote><p>Are you trying to fire an event on the ajax response body, as if it was loaded into the DOM ? Stop me if I&#039;m wrong, but the ajax request response is not loaded into the current DOM, so you cannot execute scripts on it, event if it has been parsed as a document. Take a look at the XMLHttpRequest spec : point 5-4 says &quot;with scripting disabled&quot;</p></blockquote></div><div class="codebox"><pre><code>var sendToLog;
var xhr = new XMLHttpRequest();
xhr.open(&#039;GET&#039;, &#039;/newsfeed-simulator&#039;, true);
xhr.responseType = &#039;document&#039;;
xhr.onload = function(e) {
  if (this.status == 200) 
  {

    var event = xhr.response.createEvent(&quot;MouseEvents&quot;);
event.initMouseEvent(&quot;click&quot;, true, true, window,
            0, 0, 0, 0, 0,
            false, false, false, false,
            0, null);
xhr.response.getElementById(&quot;simulate-button&quot;).dispatchEvent(event);

    $(xhr.response).ready(function() 
    {
        console.log(xhr.response.body);
        sendToLog = xhr.response.getElementsByClassName(&quot;story-score&quot;);
    });

    chrome.extension.sendMessage({writeToLog: sendToLog});  

}
}

xhr.send();</code></pre></div><p><a href="http://stackoverflow.com/questions/15029276/cannot-trigger-a-click-from-xmlhttprequest">http://stackoverflow.com/questions/1502 … ttprequest</a><br />Получается, что если есть кнопка без scripting, то на нее клик послать таки можно?<br />Проверить на ahk не могу, так как, как заметил wisgest:<br /></p><div class="quotebox"><blockquote><p>Кроме того, по той ссылке немного другой XMLHttpRequest,</p></blockquote></div>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2015-08-04T20:33:11Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=96240#p96240</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: XMLHttpRequest object]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=96238#p96238" />
			<content type="html"><![CDATA[<p>попробуйте так:</p><div class="codebox"><pre><code>        HttpObj1 := ComObjCreate(&quot;WinHttp.WinHttpRequest.5.1&quot;)
        _G := &quot;http://GET_URL&quot;
        HttpObj1.Open(&quot;GET&quot;,_G,true)                    ;the third parameter means, that it will be working asynchronously
        HttpObj1.Send()
        MsgBox,  % &quot;Length: [&quot; . StrLen(clp) . &quot;], Status: [&quot; . HttpObj1.Status . &quot;], GET:`n-------------------`n&quot; . _G
        Sleep, 5000
            If (HttpObj1.Status) MsgBox % HttpObj1.ResponseText</code></pre></div>]]></content>
			<author>
				<name><![CDATA[_gruz]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32863</uri>
			</author>
			<updated>2015-08-04T19:58:08Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=96238#p96238</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: XMLHttpRequest object]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=96235#p96235" />
			<content type="html"><![CDATA[<p>P.S.<br /></p><div class="quotebox"><cite>wisgest пишет:</cite><blockquote><p>Кроме того, по той ссылке немного другой <em>XMLHttpRequest</em>, чтобы его получить надо действовать как-то так (не проверялось)…<br />&lt;…&gt;<br />И даже если сам объект буден создан, не факт что им можно будет воспользоваться, т.к. на такой <em>XMLHttpRequest</em>, вроде бы, распространяется политика одного источника.</p></blockquote></div><p>Проверилось.<br />Первый код не работает, т.к. там не хватает <strong>new</strong>, а чтобы воспользоваться JScript&#039;овым <strong>new</strong> из AHK, всё-равно нужны костыли с помощью <em>eval()</em> или <em>window.execScript()</em>…<br />Второй, как и предполагалось, при попытке вызвать метод <em>.open()</em> приводит к ошибке:<br /></p><div class="quotebox"><blockquote><p>Error:&nbsp; 0x80070005 - Отказано в доступе. Source:		(null)<br />Description:	Отказано в доступе. <br />HelpFile:		C:\WINDOWS\system32\mshtml.hlp<br />HelpContext:	0</p></blockquote></div>]]></content>
			<author>
				<name><![CDATA[wisgest]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=3850</uri>
			</author>
			<updated>2015-08-04T17:30:56Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=96235#p96235</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: XMLHttpRequest object]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=96227#p96227" />
			<content type="html"><![CDATA[<p>Если есть метод, еще не значит, что есть события, которые можно назначить этим методом.<br />Возможно, он взят из более общего интерфейса.<br />Возможно и наиболее вероятно, чтобы заработали обработчики&nbsp; событий, узел надо вырезать из полученного XML и вставить в HTML-документ.<br />Кроме того, по той ссылке немного другой <em>XMLHttpRequest</em>, чтобы его получить надо действовать как-то так (не проверялось):<br /></p><div class="codebox"><pre><code>htmldoc := ComObjCreate(&quot;htmlfile&quot;)
req := htmldoc.Script.XMLHttpRequest() ; Script - то же, что и parentWindow
</code></pre></div><p>или<br /></p><div class="codebox"><pre><code>htmldoc := ComObjCreate(&quot;htmlfile&quot;)
htmldoc.Script.execScript(&quot;var req = new XMLHttpRequest();&quot;, &quot;JScript&quot;)
req := htmldoc.Script.req
</code></pre></div><p>Вполне возможно, что его лучше получать не через <em>htmlfile</em>, а через <em>InternetExplorer.Application</em>… И даже если сам объект буден создан, не факт что им можно будет воспользоваться, т.к. на такой <em>XMLHttpRequest</em>, вроде бы, распространяется политика одного источника.</p>]]></content>
			<author>
				<name><![CDATA[wisgest]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=3850</uri>
			</author>
			<updated>2015-08-04T16:02:36Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=96227#p96227</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: XMLHttpRequest object]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=96225#p96225" />
			<content type="html"><![CDATA[<p>Как это откуда?<br />По ссылке в первом посте присутствует метод:<br />dispatchEvent 	- Sends an event to the current element.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2015-08-04T15:14:40Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=96225#p96225</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: XMLHttpRequest object]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=96224#p96224" />
			<content type="html"><![CDATA[<p>Имеется в виду произвольный XML, не обязательно XHTML. Откуда в нём click? onreadystatechange - для назначения функции обратного вызова при асинхронном запросе (тут не имеет значения XML или что-угодно).</p>]]></content>
			<author>
				<name><![CDATA[shiz]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26249</uri>
			</author>
			<updated>2015-08-04T15:11:45Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=96224#p96224</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: XMLHttpRequest object]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=96220#p96220" />
			<content type="html"><![CDATA[<p>Но в этом случае DOM даёт возможность только разбора (получение аттрибутов, свойств) элементов, или же позволяет их использование, без необходимости отправки запросов. Т.е. например применили метод &quot;click&quot; на кнопке, а данная кнопка уже с помощью скриптов выполняет переход на другую страницу, или скачивание файла и.т.п. Что должно произойти по клику?</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2015-08-04T12:38:15Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=96220#p96220</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: XMLHttpRequest object]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=96218#p96218" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>Кстати, в чём оновные отличия XMLHttpRequest от WinHttpRequest?</p></blockquote></div><p>Как я понимаю основное отличие проявляется в случае, если получаемый файл представляет собой синтаксически правильный XML-документ, в этом случае становится доступной его DOM без необходимости чтения его сырого кода.</p>]]></content>
			<author>
				<name><![CDATA[shiz]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26249</uri>
			</author>
			<updated>2015-08-04T12:25:56Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=96218#p96218</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: XMLHttpRequest object]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=96216#p96216" />
			<content type="html"><![CDATA[<p>Я его из примера взял:<br /><a href="https://msdn.microsoft.com/en-us/library/ff975247">https://msdn.microsoft.com/en-us/library/ff975247</a><br /></p><div class="codebox"><pre><code>var a = document.createElement(&#039;a&#039;);
var evt = document.createEvent(&#039;MouseEvents&#039;);
evt.initEvent(&quot;click&quot;, true, true);
a.dispatchEvent(evt);</code></pre></div><p>А как тогда?<br />Так тоже не получается:<br /></p><div class="codebox"><pre><code>URL := &quot;http://help.dottoro.com/external/examples/ljwcseaq/onmousedown_4.htm&quot;
xml := ComObjCreate(&quot;Msxml2.XMLHTTP.6.0&quot;)
xml.open(&quot;GET&quot;, URL, 0)
xml.send

MsgBox, % IsObject(xml.constructor)</code></pre></div><div class="quotebox"><blockquote><p>Кстати, в чём оновные отличия XMLHttpRequest от WinHttpRequest?</p></blockquote></div><p>Как я понимаю, с помощью него можно посылать события на элементы. Только не получается пока.<br />Я им заинтересовался после поста Lexikos:<br /></p><div class="quotebox"><blockquote><p>I started looking into this because using WinHttpRequest in synchronous mode causes the script to hang until the request completes, but it turns out you can get around that by opening the request in asynchronous mode and calling WinHttpRequest.WaitForResponse(). The advantages of XMLHTTP are that the API is well known to many web developers, and the events (like onreadystatechange) are compatible with AutoHotkey.</p></blockquote></div><p><a href="http://ahkscript.org/boards/viewtopic.php?p=34247#p34247">http://ahkscript.org/boards/viewtopic.p … 247#p34247</a></p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2015-08-04T10:41:32Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=96216#p96216</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: XMLHttpRequest object]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=96215#p96215" />
			<content type="html"><![CDATA[<p>Кстати, в чём оновные отличия XMLHttpRequest от WinHttpRequest?</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2015-08-04T10:36:27Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=96215#p96215</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: XMLHttpRequest object]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=96214#p96214" />
			<content type="html"><![CDATA[<p>Для начала — а откуда у XMLHttpRequest-объекта взялось свойство <em>document</em>? Я такого по ссылке не обнаружил.<br /></p><div class="codebox"><pre><code>URL := &quot;http://help.dottoro.com/external/examples/ljwcseaq/onmousedown_4.htm&quot;
xml := ComObjCreate(&quot;Msxml2.XMLHTTP.6.0&quot;)
xml.open(&quot;GET&quot;, URL, 0)
xml.send

MsgBox, % IsObject(xml.document)</code></pre></div>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2015-08-04T10:23:43Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=96214#p96214</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: XMLHttpRequest object]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=96210#p96210" />
			<content type="html"><![CDATA[<p>Не понимаю как с помощью него послать клик.<br />Судя по документации у него есть метод dispatchEvent.<br /><a href="https://msdn.microsoft.com/library/ms535874">https://msdn.microsoft.com/library/ms535874</a><br />Так не получается:<br /></p><div class="codebox"><pre><code>URL := &quot;http://help.dottoro.com/external/examples/ljwcseaq/onmousedown_4.htm&quot;
xml := ComObjCreate(&quot;Msxml2.XMLHTTP.6.0&quot;)
xml.open(&quot;GET&quot;, URL, 0)
xml.send
;~ initMouseEvent(eventType, canBubble, cancelable, viewArg, detailArg, screenXArg, screenYArg, clientXArg, clientYArg, ctrlKeyArg, altKeyArg, shiftKeyArg, metaKeyArg, buttonArg, relatedTargetArg)
MouseDownEvent := xml.document.createEvent(&quot;MouseEvent&quot;)
MouseDownEvent.initMouseEvent(&quot;mousedown&quot;,true,false, _, _, _, _, _, _, _, _, _, _, _, _)

MouseUpEvent := xml.document.createEvent(&quot;MouseEvent&quot;)
MouseUpEvent.initMouseEvent(&quot;mouseup&quot;,true,false, _, _, _, _, _, _, _, _, _, _, _, _)

xml.document.querySelector(&quot;BUTTON[Id=&quot;&quot;testButton&quot;&quot;]&quot;).dispatchEvent(MouseDownEvent)
xml.document.querySelector(&quot;BUTTON[Id=&quot;&quot;testButton&quot;&quot;]&quot;).dispatchEvent(MouseUpEvent)
MsgBox, %  xml.responseText</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2015-08-04T08:22:43Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=96210#p96210</id>
		</entry>
</feed>
