لماذا يعرض TWebbrowser الصفحات خارج البرنامج
#1
السلام عليكم ورحمة الله تعالى وبركاته
أعمل على برنامج دلفي به المكونات WebBrowser و ListView و TreeView.
المكونات ListView و TreeView بها عناصر عند النقر عليها تفتح صفحة html في WebBrowse, البرنامج يعمل جيدا, لكن أحيانا وبدون سابق إنذار يبدأ البرنامج بعرض صفحات html خارج البرنامج في Internet Explorer وليس في المكون WebBrowser, بحثت ولم أجد حلا لهذا المشكل, وكما قلت فإن هذا المشكل يظهر أحيانا قليلة فقط.
من العلم أنني أستعمل الدالة WebBrowser1.Navigate() لمناداة صفحة html.

شكرا على اهتمامكم مسبقا.
الرد
#2
وعليكم السلام ورحمة الله

TWebbrowser ما هو الا تغليف ان صح التعبير لمتصفح مايكروزفت

في لغة الhtml وسم الروابط قد يحتوى على target وهي اين يظهر محتوى الرابط بعد النقر عليه
راجع
كود :
http://www.w3schools.com/tags/att_a_target.asp
ان كان مثلا _blank يتم اظهار نافذة جديدة
الرد
#3
كنت سأسأل مثل هذا السؤال لكن من كثرة اسألتي بت اخجل

لكن سؤالي هو كيف يمكنني معرفة المدخل هو رابط ام لا واذا كان رابط تحويله لرابط فتح في نافذة جديده

ثانياً كيف يمكنني التعامل مع الرجيستري لمجرد الضغط على رابط سبق وتم ادخاله من قبلي

جزاك الله الخير

اللهمّ إنّي ظلمت نفسي ظلماً كثيراً ولا يغفر الذّنوب إلا أنت

فاغفر لي مغفرة من عندك وارحمني إنّك أنت الغفور الرّحيم
الرد
#4
السلام عليكم ورحمة الله تعالى وبركاته
شكرا أخي B.M.AbdelAziZ على ردك, ولكن مشكلتي ليست في روابط html.
عند النقر على عنصر في TreeView تظهر صفحة html في WebBrowser يحدث هذا والبرنامج يعمل بشكل طبيعي, لكن أحيانا عند النقر على عنصر في TreeView تظهر صفحة html في Internet Explorer وليس في WebBrowser وهذا غير طبيعي
في الحدث OnClick لـ TreeView يوجد الأمر WebBrowser1.Navigate( html file name )
شكرا لكم.
الرد
#5
ممكن ان تكون المشكلة في المتصفح الافتراضي :d والله اعلم

اللهمّ إنّي ظلمت نفسي ظلماً كثيراً ولا يغفر الذّنوب إلا أنت

فاغفر لي مغفرة من عندك وارحمني إنّك أنت الغفور الرّحيم
الرد
#6
PHP كود :
TForm1.wb1NewWindow2(Sender: TObject; var ppDisp: IDispatch;
 var 
wb1:TWebBrowser;
begin
  wb1
:=TWebBrowser(Form1.sPageControl1.ActivePage.Controls[0]);
   
wb1.Navigate('http://www.google.com/search?ie=UTF-8&hl=fr&q='+edt1.Text); 
من مشروع قديم ( متصفح )

الان يفتح في صفحة جديدة
PHP كود :
procedure TForm1.btn1Click(Sender: TObject);
begin
 wb1
.Navigate('http://www.google.com/search?ie=UTF-8&hl=fr&q='+edt1.Text);
end;

procedure TForm1.wb1NewWindow2(Sender: TObject; var ppDisp: IDispatch;
  var 
Cancel: WordBool);
var
New: 
TForm1;
begin
New := TForm1.Create(Owner);
New.
Visible := true;
ppDisp := New.wb1.DefaultDispatch;
//NewApp.wb1.Navigate();
//cancel := true;
end; 
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم