🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.javascript
Article #49648

Dynamiczne dodawanie ładowanie skryptów

#49648
From: Peter May
Date: Wed, 06 Jan 2010 09:30
30 lines
2147 bytes
Chcę dynamicznie ładować JavaScript używając kodu inline w <head> i 
robię to w dość, wydaje się, podstawowy sposób:

(function(){
  var e = document.createElement("script");
  e.type = "text/javascript";
  e.src = "kod.js";
  e.setAttribute("async","async");
  var head = document.documentElement.firstChild;
  while( head && head.nodeType != 1 )
  {
   head = head.nextSibling;
  }
  head.appendChild(e);
})();

Problem w tym, że takie ładowanie niby powinno działać wszędzie dobrze, 
ale tak nie jest. IE 6,7,8 i Safari 4 przy pierwszym ładowaniu strony 
nie ładuje skryptu. Potem już tak. W ogóle czasem bez jakiegoś powodu po 
prostu skrypt nie ładuje się lub ładuje się (np. z bufora przeglądarki), 
ale nie "odpali się". Nie testowałem na innych przeglądarkach, ale czy 
to się da usprawnić jakoś? Ma ktoś doświadczenie w temacie dynamicznego 
ładowania skryptów?

Przy okazji: tę pętlę while dodałem, bo okazało się, że IE w zmiennej 
head podaje mi node typu text pomimo, że ja nie mam tam żadnego tekstu, 
nawet white space itp.

-- 
Peter
Technical Details
Message-ID: <hi1lcp$ea$1@atlantis.news.neostrada.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!news.nask.pl!news.nask.org.pl!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!zen.net.uk!dedekind.zen.co.uk!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!atlantis.news.neostrada.pl!news.neostrada.pl!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!news.nask.pl!news.nask.org.pl!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!zen.net.uk!dedekind.zen.co.uk!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!atlantis.news.neostrada.pl!news.neostrada.pl!not-for-mail
From: Peter May <peter.may@poczta.fm>
Newsgroups: pl.comp.lang.javascript
Subject: Dynamiczne dodawanie ładowanie skryptów
Date: Wed, 06 Jan 2010 10:30:41 +0100
Organization: TP - http://www.tp.pl/
Lines: 30
Message-ID: <hi1lcp$ea$1@atlantis.news.neostrada.pl>
NNTP-Posting-Host: uw210.internetdsl.tpnet.pl
Mime-Version: 1.0
X-Trace: atlantis.news.neostrada.pl 1262770393 458 80.55.152.210 (6 Jan 2010 09:33:13 GMT)
X-Complaints-To: usenet@news.neostrada.pl
NNTP-Posting-Date: Wed, 6 Jan 2010 09:33:13 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; pl; rv:1.9.1.5) Gecko/20091204 Thunderbird/3.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit