AccessTr.neT
Vb.net Webbrowser Yeni Pencere Problemi - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Visual Basic .NET (https://accesstr.net/forum-visual-basic-net.html)
+--- Forum: Visual Basic .NET Cevaplanmış Soruları (https://accesstr.net/forum-visual-basic-net-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Vb.net Webbrowser Yeni Pencere Problemi (/konu-vb-net-webbrowser-yeni-pencere-problemi.html)

Sayfalar: 1 2


Vb.net Webbrowser Yeni Pencere Problemi - Sherlock.Holmes - 04/12/2015

https://ebeyanname.gib.gov.tr/index.html

Benim yukarıdaki sitedeki Giriş butonuna bastığımda yeni bir pencere açılıyor.

https://ebeyanname.gib.gov.tr/giris.html

ve beni bu sayfaya yönlendiriyor. Benim bu sayfayı Webbrowser ile görüntülemem gerekiyor. Yeni pencerede açtığı içinde sıkıntı oluyor. İçine veri entegre etmem gerekiyor...

Giriş sayfasında bir java kodu var. O kod yeni bir pencerede açılmadığı zaman otomatik index sayfasına yönlendiriyor.

Kod:
<script type="text/javascript">
// dont allow this file to be written in the address bar directly, it will be opened as a popup from index.jsp only
if (window.opener == null) window.location.replace(window.location.protocol + "//" + window.location.host + window.location.pathname.substring(0, window.location.pathname.lastIndexOf("/")) + "/index.html");

function checkUserNamePasswords() {
var re8digit=/^\d{8}$/
var un = document.getElementById("username");
var pwd2 = document.getElementById("password2");
var pwd1 = document.getElementById("password1");

if (un.value.search(re8digit) == -1 || un.value.length != 8) {
window.alert("Kullanıcı Kodu 8 rakamdan oluşmalıdır."); un.focus(); return false;
}
if(pwd2.value.length == 0) {
window.alert("Parola boş olamaz.");
pwd2.focus();
return false;
} else if(pwd2.value.length > 8) {
window.alert("Parola en fazla 8 harf veya rakamdan oluşmalıdır.");
pwd2.focus();
return false;
} else if(pwd1.value.length == 0) {
window.alert("Şifre boş olamaz.");
pwd1.focus();
return false;
} else if(pwd1.value.length > 6) {
window.alert("Şifre en fazla 6 rakamdan oluşmalıdır.");
pwd1.focus();
return false;
}
return true;
}
function checkForm() {
   try{
       if (!checkUserNamePasswords())
   return;
       ajaxLogin('eyeks');
   }catch(err){}
}
</script>

Veya yeni pencerede açtı benim o pencereyi Webbrowser'ı kontrol eder gibi kontrol edebilmem lazım. Yardımcı olursanız çok sevinirim.


Cvp: Vb.net Webbrowser Yeni Pencere Problemi - alpeki99 - 04/12/2015

Örnek proje ekleyin lütfen.


Cvp: Vb.net Webbrowser Yeni Pencere Problemi - Sherlock.Holmes - 04/12/2015

(04/12/2015, 15:13)alpeki99 yazdı: Örnek proje ekleyin lütfen.

Gerekli projeyi ekledim. Umarım bir çözüm üretebilirsiniz.


Cvp: Vb.net Webbrowser Yeni Pencere Problemi - alpeki99 - 04/12/2015

Projenizi inceledim ve anladığım kadarıyla siz yeni pencere açılmasın tüm pencereler sizin programınızın formundaki browserda açılsın istiyorsunuz değil mi?

Eğer öyle ise kendi projemde kullandığım kodlarımı paylaşayım sizinle:

var webBrowser = ( WebBrowser )sender;

     if (webBrowser.Document != null)
     {
       HtmlElementCollection pageTextElements = webBrowser.Document.GetElementsByTagName( "a" );
       foreach (HtmlElement element in pageTextElements)
       {
         element.SetAttribute( "target", "_self" );
       }
     }

Bu kodları Browser'ın Proggres Changed olayına yazacaksınız. Kısacası sayfa yükleme işlemi devam ederken tarayıcıdaki tüm a taglarının target özelliğini _self yaparak yeni pencere değilde kendi sayfasında açılmasını sağlar.


Cvp: Vb.net Webbrowser Yeni Pencere Problemi - Sherlock.Holmes - 04/12/2015

Hocam kullandığınız dille proje hazırlayarak bana gönderebilir misiniz?


Cvp: Vb.net Webbrowser Yeni Pencere Problemi - alpeki99 - 04/12/2015

Sitenin kaynak koduna baktım Javascript ile sayfa açtırmışlar. Şimdi eve geçiyorum akşam fırsat olursa bakacağım.