Zaman tarayıcı Javascript yürütmek mu? Nasıl yürütme imleci hareket eder?
Eğer bir tarayıcı imleç Javascript nasıl çalıştırdığını açıklayan mevcut herhangi bir kaynak olup olmadığını merak ediyordum.
Biliyorum yükler ve çalıştırır etiketlediğinde bir sayfa yükler, ve sen-ebilmek eklemek fonksiyonlar için çeşitli penceresi olaylar, ama nereye herşeyin bulanık olduğu zaman, örneğin, ben almak bir uzaktan sayfası üzerinden AJAX ve içeriğini bir div.
Eğer uzak sayfa "yükleniyor ve içeriğini idam ediliyor?" anotherscript.js <script src="anotherscript.js" />
gibi bir komut dosyası kitaplıkları yüklemek için varsa
Eğer "geçerli sayfamda, sonra yükü biraz uzak içeriği olan bu komut vardır yinelenen vardır?" anotherscript.js ben dahil ne olur Orijinal dosyanın üzerine yazmak mı? Ne orijinal "eğer" ben değişmiş olan bir var vardır, ve sonra o dosya... özgün değer kaybeder ya da bu senaryodan dahil sayılır mı? yükler yüklemez anotherscript.js
Ben AJAX kullanarak bazı usul Javascript yükle, ne zaman çalıştırılır? Hemen 2 ** ... sonra mı? Ya da ondan önce yürütülür?
CEVAP
Cevap script etiketinin bulunduğu ve eklediğiniz nasıl bağlı olarak değişir:
Script etiketleri ile satır içi biçimlendirme yürütüldüğü eşzamanlı olarak ile tarayıcının işleme biçimlendirme dışında (bkz: #2), ve eğer öyleyse -- mesela -- bu etiketlerin dış referans dosyaları, eğilim yavaş işlem sayfası. (Bu tarayıcı inceliyorlar biçimlendirme değiştirmek
document.write
ifadeler işleyebilir.)defer
öznitelik ile komut dosyası etiketleri, bazı tarayıcılarda DOM tam olarak işlenmiş kadar sonra idam olmayabilir. Doğal olarak budocument.write
kullanamazsınız. (Komut asenkron yapanasync
bir niteliği var, ama bu konuda çok fazla ya da; details. desteklenen nasıl bilmiyorum aynı şekilde)Script etiketleri içerik atamak unsurlar sonra DOM load ()
innerHTML
ve benzer) değildir idam, kısıtlama kullanımı bir kütüphane gibi bir WordPress kullanmak veya Prototip için.YANİ, eğerdefer
bir öznitelik varsa, onları çalıştırır. (tek istisna Andy E dikkat çekti: Diğer tarayıcılarda çalışmıyor.)Element#appendChild
üzerinden belgescript
gerçek bir öğe eklemek eğer tarayıcı hemen senaryoyu indirme işlemi başlar ve yükleme tamamlandı olarak yürütülür. Komut bu şekilde eş zamanlı veya sırayla yürütülmez ekledi. İlk<script type="text/javascript" src="MyFct.js"></script>
, ekleme ve daha sonra<script type="text/javascript">myFunction();</script>
ekleme Evet satır içi (ikinci) yürütme (ilk) uzak bir önce. Olur veMyFct.js
myFunction()
, bildirirse satır içi komut ile kullanmaya çalıştığımızda tanımlı olmayacaktır. Eğer ihtiyacınız işlerin yapılması amacıyla, belli bir uzak komut oldu dolu tarafından bakıyorload
readyStateChange
olaylarscript
Öğe Ekle (load
olay birçok tarayıcı,readyStateChange
bazı sürümleri IE ve bazı tarayıcılarda her ikisi de, yani, idare çoklu bildirimler için aynı komut dosyası).Script etiketi öznitelikleri olay işleyicileri (
<a href='#' onclick='myNiftyJavaScript();'>
) içinde yerine Script ilgili olay gerçekleştiğinde yürütülür.
"Biliyorsun, yaşadın . benim asıl İşim uzakta ve benim arka beyin dedi birden çalışıyordum ^em>söylediinnerHTML
, onları atarsınız ama şahsen kontrol varsa idam olmayacaklar mı?" Ve -- FWIW, ben de öyle yaptım, ben olsaydım:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
<title>Script Test Page</title>
<style type='text/css'>
body {
font-family: sans-serif;
}
</style>
<script type='text/javascript'>
function addScript()
{
var str, div;
div = document.getElementById('target');
str = "Content added<" "script type='text/javascript'>alert('hi there')<" "/" "script>";
alert("About to add:" str);
div.innerHTML = str;
alert("Done adding script");
}
</script>
</head>
<body><div>
<input type='button' value='Go' onclick='addScript();'>
<div id='target'></div>
</div></body>
</html>
Komut dosyası uyarısı 7, FF3 görünmüyor.6 veya Chrome4 (başkalarını kontrol etmeye zahmet etmedim, çalışıyor olmam gerekiyordu :-) ). here aşağıda gösterildiği gibi öğeleri ekleme ise eğer senaryoyu infaz ediliyor.
Nasıl JavaScript bir zaman damgası alm...
Nasıl bir yöntem zaman'Java yürüt...
Nasıl Javascript URL gitmek için taray...
Nasıl bir dize temsilini kullanmadan a...
Nasıl python programı yürütme zaman iç...