PDA

View Full Version : تنظیمات WebBrowser



hossein_h62
شنبه 14 فروردین 1389, 12:56 عصر
با سلام
آیا شیء WebBrowser پراپرتی داره که با ست کردن اون یا کدنویسی به پایین صفحه وب هدایت بشیم؟؟ (غیر از کد HTML )

MFiRE
یک شنبه 15 فروردین 1389, 01:39 صبح
شما ميتونيد با اجراي دستورات جاوا اسكريپت اين كار رو انجام بديد.




function ExecuteJavaScript(WebBrowser : TWebBrowser; Code : string):Variant;
var
Document:IHTMLDocument2;
Window:IHTMLWindow2;
begin
// execute javascript in webbrowser
Document:=WebBrowser.Document as IHTMLDocument2;
if not Assigned(Document) then Exit;
Window:=Document.parentWindow ;
if not Assigned(Window) then Exit;
try
Window.execScript(Code,'JavaScript');
Result:= true ;
except
Result:= False ;
on E:Exception do raise Exception.Create('Javascript error '+E.Message+' in: '#13#10+Code);
end;
end;


كدي كه باعث ميشه كه به ابتداي صحفه بريد، كد زير هست :

<a href="#top" onclick="self.scrollTo(0, 0); return false;">بالا</a>

يعني بايد "(self.scrollTo(0, 0" رو به تابع ExecuteJavaScript بفرستيد.

موفق باشيد

hossein_h62
یک شنبه 15 فروردین 1389, 11:52 صبح
دوست عزیز مرسی از پاسختون.
ولی به متغیرهای تعریف شده که میرسه خطا میده:



var
Document:IHTMLDocument2;
Window:IHTMLWindow2;


میشه توضیح بدین؟؟

MFiRE
یک شنبه 15 فروردین 1389, 22:09 عصر
از مسير زير ActiveX ه ، Microsoft HTML Object Library رو نصب كنيد :


Component -> Import ActiveX Control

از ليست گزينه ي ...Microsoft HTML Object Library رو انتخاب كنيد و اون رو نصب كنيد، مشكل حل ميشه.

اينا متغيير هايي هستند كه اجازه ميدند كه شما به اجزاي درون شي Web Browser دسترسي پيدا كنيد.

بايد اين كد رو امتحان كنيد :

ExecuteJavaScript('self.scrollTo(0, 0);')

البته در صورتي كه جوابي نگرفتيد ميتونيد از كد زير هم استفاده كنيد :


webbrowser1.navigate('javascript:self.scrollTo(0, 0);');
اين كد حتما كار خواهد كرد. ولي تابع ExecuteJavaScript خيلي به دردتون خواهد خورد.

موفق باشيد.