Стартиране на Java Script

5 отговора 147 прегледа
#1

Стартиране на Java Script

Ами за да завърша напълно моят проект, трябва да ви попитам, още нещо. Как мога да стартирам някоя Java Script функция във вече отворена страница.

Отговор
в отговор на Гocпoдapят нa kykлитe #2

Re: Стартиране на Java Script

Отговора е твърде забавен, и се крие в една думичка - DOM, демек Document Object Model.
Понеже нямам InterDev тук, ще ти дам насоката, и ще те оставя да публикуваш решението сам ;-)
Internet Explorer разкоства една страница - включвайки body, scripts, всички елементи и прочее в една система от обекти, наречена DOM. Хубавото е, че този DOM е достъпен чрез свойството OleObject на TWebBrowser. Още по-хубавото е, че с този DOM се работи еднакво от javascript и от OleObject.
Един пример:
Имаш заредена една страница със две хипервръзки в нея
Тогава можеш да пипнеш съдържанието на всяка една от връзките например по следния начин:
WebBrowser.OleObject.document.links (0).href - това е адреса към който сочи първата хипервръзка. Можеш да го четеш и пишеш.
Отбележи, че всичко след OleObject се пише точно както се пише и в javascript.
Следва логичния въпрос - къде да търсим описание на DOM-а? Логичния отговор е - в InterDev /продукт от Visual Studio/. Там DOM-а е вграден, и когато пишеш например javascript функция, след като напишеш например "document.", ти дава свойствата и методите на обекта document. Оттам пътя е ясен - след като откриш как чрез document.scripts... и т.н. да стартираш дадена функция, ще откриеш и как да я стартираш в Delphi.
Ако не се справиш, ще ти помогна, разбира се. Но не по-рано от утре - тук нямам InterDev.

чети и дишай по-леко
Отговор
в отговор на Pechenia #3

Re: Стартиране на Java Script

Между другото аз съм чувал за InterDev, но не мога да си го набавя. А що се отнася до това ще бъда по искрен - не съм от най - добрите и това което ми каза няма да успея да го направя сам.

Отговор
в отговор на Гocпoдapят нa kykлитe #4

Re: Стартиране на Java Script

За съжаление не успях да намеря време. Засега ето едно алтернативно решение, което ще върши работа на първо време. Когато намеря друго решение, ще го публикувам.
[линк]

чети и дишай по-леко
Отговор
в отговор на Гocпoдapят нa kykлитe #5

Re: Стартиране на Java Script

Значи с много ровене и хелп намерихме далаверата:

WebBrowser1.OleObject.document.parentWindow.execScript( 'p()', 'JavaScript');

където p() е JavaScript функцията в документа. Хубаво Delphi style решение - благодарение на братята японци...

чети и дишай по-леко
Отговор
в отговор на Pechenia #6

Re: Стартиране на Java Script

За съжаление се сблъсках с един тъп проблем. Не мога да си намеря InterDev. Вече какво ли не правих. Бих ти бил крайно благодарен, ако ми кажеш от къде да си го дръпна(по възможност без цялото студио).

Отговор