Diğer web sitesinde kullanılmak üzere tasarlanmış ve kendi web sitemden ek komut dosyaları yükleyen bir JavaScript aracı yazıyorum (temel olarak etki alanları arası sınırlamalar nedeniyle XHR anlamına gelmez). Şimdi başarısızlıklarla incelikle başa çıkmak istiyorum - eğer bir betik yüklenmezse, betiği alternatif bir sunucudan yüklemek istiyorum.Harici bir HTML kaynağının yüklenmesi, JavaScript’ten nasıl iptal edilir?
1. sunucunun bir hata döndürdüğü sunucu hatalarını ele almayı başardım, ancak aynı zamanda bir zaman aşımıyla uğraşmak istiyorum. 1. sunucunun yanıt vermesi çok uzun sürerse yükü iptal etmek ve alternate geçmek istiyorum.
Sahip olduğum sorun, alternatif sunucuya geçiş yapan bir yöntemi tetiklemek için bir zaman aşımı ayarlayabildiğim, ancak alternatif sunucudaki komut dosyası, tarayıcının kendisi orijinal isteğine göre zaman aşımına uğrayana kadar başarıyla yüklenememesidir - ihtiyaçlarım için çok uzun bir yol.
1. < komut dosyası> etiketi yüklenirken - yükleme işlemini iptal etmek ve alternatif sunucuya işaret eden ikinci bir < komut dosyası etiketi eklemek istiyorum.
Orijinal komut dosyasının src özniteliğini null olarak ayarlamayı denedim ve hatta etiketi removeNode() kullanarak HEAD öğesinden kaldırmayı denedim, ancak hiç bir etkisi olmadı.
Hepsi Firefox'ta denendi - Henüz IE'yi denemedim, ancak çözümün her ikisinde de çalışması gerekiyor. Önerileri duymak isterim.
İkinci senaryoyu yüklemeye çalışıyorum Aynı sunucudan (aynı ana bilgisayar adı zaten - yükü dengelenmiş, bu yüzden muhtemelen farklı bir sunucu). Bu, DOMReady ve HEAD öğesinden sonra gerçekleşir, dolayısıyla sayfa oluşturmayı geciktirmez.BTW "erteleme" sadece IE'de desteklenir. – Guss
Birçok tarayıcıda aynı ana makine adına maksimum 2 eşzamanlı istek var. Bu, ikinci komut dosyasını yüklemenizi engelleyen şey olabilir - aynı ana bilgisayar adında bir resim veya başka bir şey yüklüyorsanız. Yük dengeleyicisini de kullanan yeni bir alt alan oluşturmayı deneyin. – gregers
, işe yarayabilir gibi geliyor. Kontrol edeceğim! – Guss