Ben aşağıdakileri yapar bir sayfa var:
Tarayıcı içerik olarak sadece bir script / noscript çifti ile, geçerli bir baş ve gövdesi ile çok basit bir sayfa yükler.
Vücutta, bir işlev onLoad çalışan bir komut dosyası (script) vardır. Bu fonksiyonu dinamik bir ikinci komut (script b) içerir, ve kullanılabilir hale bunun bir işlevi çalışır.
İkinci komut çeşitli çalışmalar yapan bir. Js dosyasıdır.
Her iki komut PHP tarafından ayrıştırılır ve application / x-javascript içerik türünü kullanırlar.
Şimdi, bu tüm JS hıçkırık bir çift dışında, sadece iyi çalışma var. JavaScript benim güçlü dillerden biri değil, bu yüzden bu basit konular ve birisi bana doğru yönde işaret edebilir umuyorum.
Problem 1: Ben basit bir alert ('komut dosyası b vardır') yaparsanız; beklendiği gibi ikinci komut, o çalışır. Ben başka bir şey yapmak, ancak iyi çalışıyor, ve sonra tarayıcı sonsuza dek yüklenmekte olduğunu belirten tutar. Bu IE'de firefox renk aranın veya eğirme şeydir.
Ben farklı şekillerde senaryoyu biten denedim ve hiçbir şey yardımcı olacak gibi görünüyor. Nasıl script tüm yol yüklenen tarayıcı belirtmek için herhangi bir fikir? PHP ayrıştırmak zorunda olan bir. Js dosya.
Problem 2: İkinci komut dosyası Opera veya Google Chrome birinde hiç dahil olmak görünmüyor. Yükleme sorunu dışında FF / IE, çalışıyor. Im ikinci script yükleme uyumlu olmayan bir şey kullanarak ise herkes görebilir miyim?
Teşekkürler!
Update:
Cevaplar için teşekkürler. Ben aslında her şeyi (en azından, FF) düzgün çalıştığını bildiğiniz neden olan, kundakçı var. Aslında komut Opera / Chrome'da çalışma olmadığını bilmiyorum, ama hiçbir şey olmuyor.
Ben firebug üzerinden gerçek yanıtları kopyalamak ve bu yayınlayacağız kod = o yeraldığını), yani kod tam olarak ne görebilirsiniz. Bildiğim kadarıyla bağlantıyı kapatmadan web sunucusu gibi, ben de düşünüyordum, ama o ben uyarı içine b komut yaparsanız ('ne olursa olsun') tuhaf görünüyor; o uyarmak ve daha sonra yükleme durdurmak, ama ben tam olarak aynı şeyi yapmak, ancak komut document.write ('ne yapacaktır); sonsuza kadar yük olacaktır.
İşte firebug net sekmesinden doğrudan kopyalanamaz güncellenen komut, şunlardır:
Bu discoverfire.net bir iç etki alanı, yani oradan bir şey yüklemek mümkün olmayacaktır Not ...
Initial HTML page:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Welcome!</title>
<style>body { font-family:arial; }</style>
<script language="JavaScript" type="text/javascript" src="http://www.discoverfire.net/analytics/l/a.js">
</script>
<script language="JavaScript" type="text/javascript">
document.onload = Start();
function Start(){
TAFKing_version = '1.0';
TAFKing_lkey = '19-8O-KKA8HV';
TAFKing_Lander();
}
</script>
</head>
<body>
<noscript>
Oops! We can't forward you properly because your JavaScript is turned off.<br /><br />
<a href='http://www.discoverfire.net/analytics/l/noscript/19-8O-KKA8HV.html'>Please click here to continue.</a>
<img src='http://www.discoverfire.net/analytics/l/imp/19-8O-KKA8HV.png' border='0' alt='tell a friend' />
</noscript>
</body>
</html>
** Senaryo A (... a.js): http://www.discoverfire.net/analytics/l/a.js **
function TAFKing_Lander(){
version = TAFKing_version;
lkey = TAFKing_lkey;
var scrb = document.createElement('script');
scrb.type = 'text/javascript';
scrb.src = 'http://www.discoverfire.net/analytics/l/b.js?lkey='+lkey+'&version='+version+'&cb=4eohe8e65'
;
document.getElementsByTagName('head')[0].appendChild(scrb);
Interval = setInterval("Waiter()", 10);
return;
}
function Waiter(){
if(window.TAFKing_LanderB) {
clearInterval(Interval);
TAFKing_LanderB();
}
}
Script B (...b.js): http://www.discoverfire.net/analytics/l/b.js?lkey=19-8O-KKA8HV&version=1.0&cb=4eohe8e65 strong>
function TAFKing_LanderB(){
document.write("there are just a whole bunch of doc.writes here that build a simple table");
}