Sayfanın başı veya gövdesi için <style>
veya <link>
etiketlerini ekleyerek dinamik komut dosyası/css yüklemesinin farkındayım, ancak indirildikten sonra tarayıcı tarafından yürütülür. İndirmenin başka yollarını düşünüyordum ama javascript/css kodunu çalıştırmıyordum. İlk ne fikrimi gelen XMLHttpRequest oldu: JavaScript veya CSS'yi çalıştırmadan yükleme yöntemleri nelerdir?
//simple execution received script
var executeScript = function(code){
eval(code);
};
//create XMLHttpRequest in cross-browser manner
var xhr = createXMLHTTPObject();
//check whether file is loaded
var checkStatus = function(){
if(xhr.readyState == 4){
if(xhr.status >= 200 && xhr.status < 300 || xhr == 304){
executeScript(xhr.responseText);
}
else {//error
}
}
};
//do request
xhr.open('get','http://podlipensky.com/examples/dynamicscript/hey.js', true);
xhr.onreadystatechange = checkStatus;
xhr.send(null);
Ancak bu durumda biz çünkü aynı Kökeni Politikası aynı etki (biz CORS ile buna bir çözüm bulmak deneyebilirsiniz rağmen)
gelen komut ile sınırlısınız
Başka bir yaklaşım, sayfa için dinamik olarakiframe
eklemek ve
iframe
için
script
etiketi eklemek, bu yüzden, komut dosyası indirildikten sonra yürütülecek, ancak başka bir sayfa bağlamında olur -
iframe
.
Komut dosyasını indirmenin ve yürütmenin başka yolları var mı?
GÜNCELLEME: indirmek için yararlı olacağını nedenlerinden
Bir, ancak javascript yürütmüyor/css önceden yük üçüncü parti kütüphaneleri, fakat sadece talep üzerine bunları kullanmaktır.
Sadece css/javascript indirildiği için hemen yürütüldüğü anlamına gelmez. Hangi yöntemler/sınıflar içindir. Ayrıca, eğer ajax'ı kullanacaksanız, 'jQuery' kullanın – Darcy
Gerçekten sorduğun 83 sorudan sadece% 23'ü kabul edilebilir cevaplar aldı mı? –
İşte benzersiz bir yol, ama normal kullanım için kesinlikle pratik değil http://blog.nihilogic.dk/2008/05/compression-using-canvas-and-png.html – qw3n