Html - CSS - XML - JavaScript - Ajax
Dış Modülden Gelen JS Hatasını Nasıl Engellerim?
Dış Modülden Gelen JS Hatasını Nasıl Engellerim?
-
Selamlar,
Bir dış modül'ü html içinde include ediyorum. Modülden hata geliyor ara ara ve konsola düşüyor. Konsola düşen her hata için mail ile alert üretiliyor. Bunu engellemek istiyorum.
Yani dış sayfayı try 'a alıp içinden hata gelirse bunu cath'e düşürüp hata gelmesini engellemem lazım. Nasıl yapılır böyle bir şey?
try
{
#external-html-page
}
catch
{
#hatayı-yakala
}
Teşekkürler.
zeybekustasi tarafından 20/Haz/19 10:59 tarihinde düzenlenmiştir -
Bir dış modülü html içine nasıl include ediyorsun, bu kısım önemli. Sen yazana kadar ben yine tahminde bulunayım
Eğer PHP gibi server side bir dil ile include ediyorsan teoride o aldığın jsyi try catche sokamazsın.
Eğer jsyi js ile include ediyorsan olay zaten basit.
Eğer amacın yalnızca consoleda console.log değerleri gözükmesin ise bunu da o modülleri değiştirmeden kolaylıkla yaparız.
-
dışarıdan gelen js dosyasını eval ile çalıştırıp try catch e alsan olmaz mı?
-
by_Tet bunu yazdı
Bir dış modülü html içine nasıl include ediyorsun, bu kısım önemli. Sen yazana kadar ben yine tahminde bulunayım
Eğer PHP gibi server side bir dil ile include ediyorsan teoride o aldığın jsyi try catche sokamazsın.
Eğer jsyi js ile include ediyorsan olay zaten basit.
Eğer amacın yalnızca consoleda console.log değerleri gözükmesin ise bunu da o modülleri değiştirmeden kolaylıkla yaparız.
JSP içerisinde başka bir JSP 'i include ediyorum. HTML ve JS JSP 'nin içinde tanımlı.
<%@ include file="/jsp/.../.../....jsp" %>
Hata yukarıdaki Jsp içerisinden geliyor. Ancak orada ben değişiklik yapamıyorum. Buradan gelen hatayı engellemem lazım. -
zeybekustasi bunu yazdıby_Tet bunu yazdı
Bir dış modülü html içine nasıl include ediyorsun, bu kısım önemli. Sen yazana kadar ben yine tahminde bulunayım
Eğer PHP gibi server side bir dil ile include ediyorsan teoride o aldığın jsyi try catche sokamazsın.
Eğer jsyi js ile include ediyorsan olay zaten basit.
Eğer amacın yalnızca consoleda console.log değerleri gözükmesin ise bunu da o modülleri değiştirmeden kolaylıkla yaparız.
JSP içerisinde başka bir JSP 'i include ediyorum. HTML ve JS JSP 'nin içinde tanımlı.
<%@ include file="/jsp/.../.../....jsp" %>
Hata yukarıdaki Jsp içerisinden geliyor. Ancak orada ben değişiklik yapamıyorum. Buradan gelen hatayı engellemem lazım.Hocam şimdi şöyle problem;
js ile ilgili bütün işlemlerini sonradan yaptırmak istediğinde (atıyorum bir js üstte include edilmiş olsun, altına da yukarıdaki jsyi değiştirecek birşeyler yazıyorsun) üstteki js çoktan çalışacağı için onu sonradan yakalaman zor.
Üzerine ekleyebileceğimiz bir try catch bloğu ise maalesef yok ki zaten kimse "edilenemeyecek js dosyaları vardır onları yakalattıralım" diye düşünmemiştir.
Doğal olarak kulağı tersten tutmaya çalışmak dışında seçeneğimiz kalmıyor.
Yöntem 1: Jsp bilmiyorum ancak php ile örneğin sayfadaki bütün html css js dosyaları bastırılmadan önce değiştirebiliyoruz. (ob_get_contents()) bununla içerideki bütün js dosyalarının başına sonuna try catch ekleriz sorun hallolur.
Yöntem 2: Eğer server kısmına müdahale edebiliyorsak bir c extension yazabiliriz (ki sanmıyorum)
Aklıma başka yöntem gelmiyor
-
Bence yapamazsın. Backend hatası olsa jsp den faydalanırsın da include ettiğin kod sadece script değildir, js kullanarak try catch falan yemez.
-
eval yapsan ?
-
Ön yüzde çalışan bir betik hatasını sunucu tarafında yakalayamazsin. Gelen js dosyasını buraya ekle deneme yapalım.
Fakat söyle yapabilirsin. Php ile dosya içeriğini oku. Sonra onu ön yüzde script taglari arasina yerleştir. Gelen değerin hepsini try catch bloguna almayi dene.
-
1. adım için kulağı tersten tutup abidik gubidik hareketlere girebilirsin ama tavsiyem şöyle;
"Konsola düşen her hata için mail ile alert üretiliyor." bu işlemi nerede yapıyorsan, göz ardı edilecek hataları buraya koy. (Yani öyle bir hata listesi oluştur, whitelist gibi...)
O hatalar gelince mail ile alert üretmesin.
manyaki tarafından 20/Haz/19 23:15 tarihinde düzenlenmiştir -
manyaki bunu yazdı
1. adım için kulağı tersten tutup abidik gubidik hareketlere girebilirsin ama tavsiyem şöyle;
"Konsola düşen her hata için mail ile alert üretiliyor." bu işlemi nerede yapıyorsan, göz ardı edilecek hataları buraya koy. (Yani öyle bir hata listesi oluştur, whitelist gibi...)
O hatalar gelince mail ile alert üretmesin.
O servise müdahale şansım yok genel framework bu şekilde ama dediğin olay yapılsa süper olurdu. fikir için teşekkürler.
-
Ben hangi metottan hata geldiğini biliyorum. Bu metodu runtime sırasında html çağırımdan önce düzeltip bu metodu öncelikli yapabilir miyim acaba. (Css de !important özelliği gibi bi şey..)