webForumDet fria alternativet

Ladda js-fil dynamiskt

16 svar · 500 visningar · startad av Web-Tor

Web-TorMedlem sedan nov. 200013 890 inlägg
#1

Finns det något sätt att ladda in en javascript-fil dynamiskt?

Typ så här:

<div onclick="laddaJSfil('fil.js');">
dectgapMedlem sedan sep. 20021 655 inlägg
#2

Testa med

function laddaJSfil(filSrc) {
	var scriptElm  = document.createElement("SCRIPT");
	scriptElm.type = "text/javascript";
	scriptElm.src  = filSrc;

	var headElm = document.getElementsByTagName("HEAD")[0];
	headElm.appendChild(scriptElm);
}
Web-TorMedlem sedan nov. 200013 890 inlägg
#3

Okey...
Då kan man ju köra så här t.ex:

var file="../js/assessment.js";
var s=document.createElement('<script type="text/javascript" src="'+file+'"></script>');
document.getElementsByTagName("HEAD")[0].appendChild(s);

Jag hade hoppats att det fanns någon färdig funktion för det här. :l

dectgapMedlem sedan sep. 20021 655 inlägg
#4

Web-Tor skrev:

Okey...
Då kan man ju köra så här t.ex:

var file="../js/assessment.js";
var s=document.createElement('<script type="text/javascript" src="'+file+'"></script>');
document.getElementsByTagName("HEAD")[0].appendChild(s);

Jag hade hoppats att det fanns någon färdig funktion för det här. :l

Nä, så där kan du inte göra, eftersom det är fel sätt att använda createElement, även om det fungerar i IE.

Web-TorMedlem sedan nov. 200013 890 inlägg
#5

dectgap skrev:

Nä, så där kan du inte göra, eftersom det är fel sätt att använda createElement, även om det fungerar i IE.

Jo, eftersom jag gör en IE-lösning får jag göra så. :e

nitro2k01Medlem sedan aug. 20039 342 inlägg
#6

Web-Tor skrev:

Jo, eftersom jag gör en IE-lösning får jag göra så. :e

En liten varning Tor, nån gång kanske du kommer börja jobba hos något företag som inte bara använder M$-produkter. :)

Web-TorMedlem sedan nov. 200013 890 inlägg
#7

Jag jobbar inte på ett företag som bara använder MS-produkter. Däremot jobbar jag med en produkt som kommer ha IE 6 som krav.

nitro2k01Medlem sedan aug. 20039 342 inlägg
#8

Web-Tor skrev:

Jag jobbar inte på ett företag som bara använder MS-produkter. Däremot jobbar jag med en produkt som kommer ha IE 6 som krav.

Men helt seriöst tycker jag att det är bättre att ha som målsättning att skriva korrekt kod som fungerar både i IE6 och andra webbläsare än att skriva kod som bara funkar i IE.

dectgapMedlem sedan sep. 20021 655 inlägg
#9

nitro2k01 skrev:

Web-Tor skrev:

Jag jobbar inte på ett företag som bara använder MS-produkter. Däremot jobbar jag med en produkt som kommer ha IE 6 som krav.

Men helt seriöst tycker jag att det är bättre att ha som målsättning att skriva korrekt kod som fungerar både i IE6 och andra webbläsare än att skriva kod som bara funkar i IE.

Jag håller med.
Det finns liksom ingen anledning att välja en lösning om bara fungerar i IE framför en som fungerar i alla läsare (med någorlunda DOM-stöd).

OveRRidEMedlem sedan feb. 200112 078 inlägg
#10

dectgap skrev:

Det finns liksom ingen anledning att välja en lösning om bara fungerar i IE framför en som fungerar i alla läsare (med någorlunda DOM-stöd).

Varför bygga något som inte efterfrågas av kunden? Skall man se det ur ett större perspektiv är det rent oekonomiskt och antagligen också dumt. Är det nu bara IE6 som är kravet, ja.. då fungerar väl den lösningen tillräckligt bra eller hur?

Den ständiga jakten på all universums standardiserade källkod kan lätt bli lite löjlig ibland. ;)

dectgapMedlem sedan sep. 20021 655 inlägg
#11

OveRRidE skrev:

dectgap skrev:

Det finns liksom ingen anledning att välja en lösning om bara fungerar i IE framför en som fungerar i alla läsare (med någorlunda DOM-stöd).

Varför bygga något som inte efterfrågas av kunden? Skall man se det ur ett större perspektiv är det rent oekonomiskt och antagligen också dumt. Är det nu bara IE6 som är kravet, ja.. då fungerar väl den lösningen tillräckligt bra eller hur?

Den ständiga jakten på all universums standardiserade källkod kan lätt bli lite löjlig ibland. ;)

Jag menar fortfarande att det inte finns någon anledning att välja en IE-only-lösning framför en crossbrowser-lösning, om det inte innebär någon förlust som t ex att crossbrowser-lösningen tar längre tid.

Även om Web-Tors script aldrig kommer att användas i Mozilla ellerOpera finns det en poäng i att skriva "rätt", nämligen att man vänjer sig vid det.
En anledning att skriva på "mitt" sätt. Ge mig en anledning att skriva på Web-Tors sätt.

Jag ser inte vari det löjliga ligger.

Nu vill jag inte skriva mer eftersom mitt tangentbord har lagt av, så jag skriver via Skärmtangentbrdet :)

Web-TorMedlem sedan nov. 200013 890 inlägg
#12

Är det någon som känner till en färdig funktion för detta eller har ett smartare sätt att lösa det på så får ni gärna skriva. :)

OveRRidEMedlem sedan feb. 200112 078 inlägg
#13

dectgap skrev:

Även om Web-Tors script aldrig kommer att användas i Mozilla ellerOpera finns det en poäng i att skriva "rätt", nämligen att man vänjer sig vid det.
En anledning att skriva på "mitt" sätt. Ge mig en anledning att skriva på Web-Tors sätt.

Det fungerar väl, eller hur? :q Det skrev han ju själv iallafall. ;)

Dessutom tror jag inte att man per automatik glömmer bort hur man skriver vettig kod bara för att man en gång väljer att göra det för IE6, speciellt inte eftersom jag är övertygad om att Web-Tor har bättre minne än så, samt att han har lite koll på crossbrowserscript.

dectgapMedlem sedan sep. 20021 655 inlägg
#14

OveRRidE skrev:

Det fungerar väl, eller hur? :q Det skrev han ju själv iallafall. ;)

Dessutom tror jag inte att man per automatik glömmer bort hur man skriver vettig kod bara för att man en gång väljer att göra det för IE6, speciellt inte eftersom jag är övertygad om att Web-Tor har bättre minne än så, samt att han har lite koll på crossbrowserscript.

Jag gav dig en anledning till varför man skulle välja mitt alternativ framför Web-Tors. Om du, eller någon annan, ger mig en anledning till varför man ska välja Web-Tors alternativ framför mitt så har jag förståelse för Web-Tors val.

Att hans alternativ fungerar är ingen anledning, eftersom båda alternativen fungerar.

Det är förresten intressant hur du kallar alternativet för "vettig kod". Som jag tolkar ditt ordval tycker du att det standardiserade alternativet innebär vettigare kod än IE-only-alternativet.

Web-TorMedlem sedan nov. 200013 890 inlägg
#15

För att fortsätta OT:

Jag jobbar i ett stort projekt (10-15 utvecklare) med att ta fram en webblösning. Här skapas många HTML-element med hjälp av javascript och eftersom IE inte tillåter att man sätter name-attributet i run time är jag ändå tvungen att göra en IE-lösning varje gång jag ska skapa form-element.
För att inte förvilla övriga utvecklare (längre ner i utvecklingen) vill jag använda ett generellt sätt att skriva på när jag använder createElement.

dectgapMedlem sedan sep. 20021 655 inlägg
#16

Det låter som en god anledning.

Jag hoppas dock att skillnaden mellan de två alternativen framgår för andra som läser tråden.

OveRRidEMedlem sedan feb. 200112 078 inlägg
#17

dectgap skrev:

Det är förresten intressant hur du kallar alternativet för "vettig kod". Som jag tolkar ditt ordval tycker du att det standardiserade alternativet innebär vettigare kod än IE-only-alternativet.

Antagligen ja, men som jag försökt att påpeka ett flertal gånger; i större sammahang är det antagligen inte vettigt att skriva extra kod, såvida inte kravspecifikation/teknisk specifikation kräver det, då det inte alltid är budgeterad tid. Ofta kan utveckling med kraftig fokus på skalbarhet och plattforms-/klientoberoende resultera i oberäknad mertid, oftast i den initiala fasen.

Kanske är det smågrus vi pratar här, men där vi ju iallafall på samma sida av strecket, eller hur? ;)

132 ms totalt · 3 externa anrop · v20260731065814-full.b943c234
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)