Avatar billede lerchedahl Nybegynder
07. november 2002 - 02:30 Der er 52 kommentarer og
1 løsning

innerHtml

dette virker ikke, hvorfor?

onEvent="enDIV.innerHTML='<script type=text/javascript src=text.js></script>'"

forklaring + alternativ påskønnes...

på forhånd tak
/lerchedahl
Avatar billede nikolajdu Nybegynder
07. november 2002 - 02:38 #1
DEt virker ikke fordi det ikke er tilladt at skrive <script> inde i et javascript. Heldigvis da har Olebole for det lært os andre et lille trick. Nemlig at escape et tegn så det opfattes som værende en hel <script> tag.


onEvent="enDIV.innerHTML='<s\cript type=text/javascript src=text.js></script>'"
Avatar billede nikolajdu Nybegynder
07. november 2002 - 02:43 #2
Ups du bliver nok også lige nødt til at escape den sidste </script>

</\script>
Avatar billede nikolajdu Nybegynder
07. november 2002 - 02:45 #3
Altså : onEvent="enDIV.innerHTML='<s\cript type=text/javascript src=text.js></\script>'"

Hvis du skulle være i tvivl og du fik en forklaring også, så jeg kan vidst godt svare :)

Håber du sover bedre nu - Jeg vil ihvertilfald i kanen.

/Nikolaj
Avatar billede lerchedahl Nybegynder
07. november 2002 - 02:45 #4
forbandet smart, bare trist at det ikke virker... :(

indholdet af text.js bliver ikke hentet ind i enDIV onEvent...
Avatar billede nikolajdu Nybegynder
07. november 2002 - 02:46 #5
Nu ved jeg ikke hvordan du trigger din event - Prøv evt at bruge en alert  istedet.
Avatar billede nikolajdu Nybegynder
07. november 2002 - 02:48 #6
Altså for at se om den bliver trigget overhovedet.

onEvent="enDIV.innerHTML='<s\cript type=text/javascript>alert(\'doh\')</\script>'"
Avatar billede Slettet bruger
07. november 2002 - 02:48 #7
Prøv det her!
<script id=JSScript type=text/javascript src=""></script>

onEvent="JSScript.src='text.js';"
Avatar billede lerchedahl Nybegynder
07. november 2002 - 02:49 #8
ok, her er min reelle kode:

<a href="java script:void(0);" onclick="ele1.slideCornerTo('se',500,300,500);content.innerHTML='<s\cript type=text/javascript src=hej.js></\script>'" onfocus="this.blur();">menu</a>

har jeg kogt, eller...?
Avatar billede lerchedahl Nybegynder
07. november 2002 - 02:50 #9
aha, da

- den bli'r ikke trigget...!

nu ved jeg ingenting
Avatar billede Slettet bruger
07. november 2002 - 02:51 #10
Ler->Jeg forstår bare ikke hvorfor du ikke bare bruge script.src !?
Avatar billede lerchedahl Nybegynder
07. november 2002 - 02:53 #11
regin >> har lige forsøgt, men uden held... :(
Avatar billede lerchedahl Nybegynder
07. november 2002 - 02:55 #12
er det min .js fil der er noget galt med?

hej.js:

document.write('tjuhej hvor det går');
Avatar billede Slettet bruger
07. november 2002 - 02:56 #13
well, hvis det er det du er ude på vil jeg nok foreslå du bruger en anden fremgangs måde...
Avatar billede lerchedahl Nybegynder
07. november 2002 - 02:57 #14
nikolajdu >>

du bad mig om at tjekke om hvorvidt den blev trigget, det gjorde den ikke...

hvad betyder det?
Avatar billede lerchedahl Nybegynder
07. november 2002 - 02:58 #15
regin >>

hvad mener du?
hvilken fremgangsmåde vil du foreslå?
Avatar billede Slettet bruger
07. november 2002 - 03:00 #16
Hvis der bare skal stå tjuhej hvor det går... så ville content.innerHTML='tju hej hvor det går';
være fint... jeg går udfra at du gerne vil gøre en javascript fil tilgængelig hvis folk trykker på linket...
Avatar billede Slettet bruger
07. november 2002 - 03:02 #17
innerHTML er primært lavet til ordinær tekst <BR> <IMG> <B> <I> osv... ikke at smide script mm. ind...
Avatar billede lerchedahl Nybegynder
07. november 2002 - 03:02 #18
ja, naturligvis.

pointen er at indholdet af min .js fil er meget større end hvad det vil være kodemæsigt forsvarligt at smække ind i en innerHTML streng...
Avatar billede lerchedahl Nybegynder
07. november 2002 - 03:03 #19
...men derudover *er* det altså bare html kode der skal inkluderes i min div...
Avatar billede lerchedahl Nybegynder
07. november 2002 - 03:05 #20
...og det gode ved innerHTML er at det på håndværende indhold af div'en erstattes...
Avatar billede Slettet bruger
07. november 2002 - 03:06 #21
ok... prøv det her så....
<div id=content><script id="JSSCRIPT" SRC=""></SCRIPT></div>

onEvent="JSSCRIPT.src='hej.js';"

Det burde løse dit problem... scriptet er tomt til at starte med. Men når du kører linien JSSCRIPT.src='hej.js'; svarer det til
<script id="JSSCRIPT" SRC="hej.js"></SCRIPT>
Avatar billede nikolajdu Nybegynder
07. november 2002 - 03:06 #22
lerchedal - Jeg vil give regin ret - Der skal være en rigtig god grund til at bruge den her slags metoder.

Det er ikke så meget innerHTML vi mener - Det er mere om det ikke ville være mere hensigtsmæssigt bare at lægge det i en variabel f.eks...
Avatar billede Slettet bruger
07. november 2002 - 03:08 #23
Lerchedal - hvad så med den her løsning:

<script id="JSSCRIPT" SRC=""></SCRIPT>
<div id=content>En masse tekst som alligevel skal fjernes!</div>

onEvent="JSSCRIPT.src='hej.js';content.innerHTML='';"
kan det bruges?
Avatar billede lerchedahl Nybegynder
07. november 2002 - 03:13 #24
regin >> det er virkelig godt tænkt, men den gør det bare ikke, øv!

nikolajdu >> lad mig lige understrege at 'tjuhej' -teksten ikke er alvorligt ment. Der kommer til at ligge meget mere indhold i min .js fil end det vil være forsvarligt at smide i en variabel...(!)
Avatar billede Slettet bruger
07. november 2002 - 03:14 #25
lerchedahl, hvad for en browser bruger du?
Avatar billede lerchedahl Nybegynder
07. november 2002 - 03:15 #26
regin >> i din anden løsning (03.08.29) ligger scriptet uden for div'en, er det tiltænkt??
Avatar billede lerchedahl Nybegynder
07. november 2002 - 03:15 #27
jeg bruger IE6
Avatar billede lerchedahl Nybegynder
07. november 2002 - 03:16 #28
jeg får en 'jsscript er ikke defineret' fejl ??!!
Avatar billede Slettet bruger
07. november 2002 - 03:16 #29
Og den anden løsning skal sq virker med IE6!

Ja det er tiltænkt... af den grund at det i princippet er lige meget hvor et script ligger med mindre du bruger document.write=''; eller andre primitive funktioner!
Avatar billede Slettet bruger
07. november 2002 - 03:17 #30
<SCRIPT name="JSSCRIPT" id="JSSCRIPT" SRC=""></SCRIPT>

Og du gør forskel på store og små bogstaver?
Avatar billede lerchedahl Nybegynder
07. november 2002 - 03:18 #31
glem den sidste kommentar... jeg havde jo lige fjernet scriptet med innerHTML :)
Avatar billede nikolajdu Nybegynder
07. november 2002 - 03:18 #32
lerchedal - Hvor meget er meget mere? Variabler kan indeholde en hel del :)
Avatar billede lerchedahl Nybegynder
07. november 2002 - 03:22 #33
regin >> den anden løsning der...

onEvent="JSSCRIPT.src='hej.js';content.innerHTML='';" erstatter indholdet af content med 'ingenting', men scriptet hentes jo ikke ind...
Avatar billede Slettet bruger
07. november 2002 - 03:23 #34
JSSCRIPT.src='hej.js';
sætter scriptet ind i script tagget!
Avatar billede lerchedahl Nybegynder
07. november 2002 - 03:25 #35
nikolajdu >> du må da inderligt gerne vise mig en løsning med variabler, hvis du mener det er hensigtsmæsigt. Jeg foretrækker bare i denne her sammenhæng at indholdet hentes eksternt...
Avatar billede Slettet bruger
07. november 2002 - 03:25 #36
En alternativ løsning mere!

<script id="JSSCRIPT" SRC=""></SCRIPT>
<div id=content><script id="JSSCRIPT" SRC=""></SCRIPT><span id=MINUSTEKST>En masse tekst som alligevel skal fjernes!</span></div>

onEvent="JSSCRIPT.src='hej.js';MINUSTEKST.innerHTML='';"
Avatar billede lerchedahl Nybegynder
07. november 2002 - 03:26 #37
regin >> ja! MEN indholdet af hej.js kommer IKKE ind i content-div'en!
Avatar billede Slettet bruger
07. november 2002 - 03:26 #38
Det skulle det gerne i 03:25:11
Avatar billede nikolajdu Nybegynder
07. november 2002 - 03:27 #39
Jeg må ihvertilfald lige sove lidt på det - Stopper lige for nu inden jeg får mareridt om </\script>

Kigger forbi i morgen.
Avatar billede lerchedahl Nybegynder
07. november 2002 - 03:29 #40
regin >> din løsning med 'minustekst' laver samme nummer...

teksten i content fjernes vha. innerHTML, men der loades altså intet indhold ind i content via scriptet... der efterlades blot en tom div tilbage...
Avatar billede lerchedahl Nybegynder
07. november 2002 - 03:30 #41
ok, ses nikolajdu
Avatar billede Slettet bruger
07. november 2002 - 03:31 #42
<html>
<head><title>Skift JS!</title></head>
<body>
<div id=content>
<script id="JSSCRIPT" SRC="">
</SCRIPT>
<span id=MINUSTEKST>
En masse tekst som alligevel skal fjernes!
</span>
</div>
<br>
<input type=button value="fjern tekst"
onclick="MINUSTEKST.innerHTML='';JSSCRIPT.src='test.js';alert(content.innerHTML);">
</body>
</html>
I min browser virker det her sq!
Avatar billede lerchedahl Nybegynder
07. november 2002 - 03:35 #43
hos mig loades indholdet at test.js *ikke* ind i content... jeg kan se på alertboksen at scriptet har ændret src, MEN det loades ikke ind i min div
Avatar billede lerchedahl Nybegynder
07. november 2002 - 03:37 #44
sig mig, kan det ikke være min js-fil der er noget galt med....??
Avatar billede Slettet bruger
07. november 2002 - 03:38 #45
Det er fordi JavaScript ikke parser indholdet i src... prøv med nedenstående i hej.js:

function maintest()
{
    alert("TEST");
    document.write("TEST");
}
og efter alert();maintest();
Avatar billede lerchedahl Nybegynder
07. november 2002 - 03:43 #46
nu kommer alert("TEST") frem!!!

desværre erstatter den HELE mit html dokument med indholdet af js filen, og ikke kun content...
Avatar billede Slettet bruger
07. november 2002 - 03:47 #47
også ved mig...
Ville bare vise at den ikke parser fra <script src=''>
Jeg vil sådan set foreslå at du bruger en <iframe></iframe> i stedet for <div></div>
Avatar billede lerchedahl Nybegynder
07. november 2002 - 03:49 #48
hmm, det var jo netop for at undgå en iframe... men det kan godt være det bliver nødvendigt...

er der ikke noget med at man kan bruge en 'usynlig' iframe som en slags buffer...?

altså sådan at man henter et dokument ind i sin iframe, og så henter man indholdet at iframen over i sin div?
Avatar billede Slettet bruger
07. november 2002 - 03:53 #49
Kan godt gøres... noget i retning af at du sætter <div><iframe style=\"position: absolute;visibility: hidden;\" id=IFRAMEBUFFER></iframe></div>

onEvent=\"IFRAMEBUFFER.style.position='relative';IFRAMEBUFFER.style.visibility='visible';\"

.... det skulle vidst kunne gøre det!
Avatar billede lerchedahl Nybegynder
07. november 2002 - 03:53 #50
ved du hvad, jeg er simpelt hen nødt til at vende tilbage med det her senere, jeg kan ikke holde øjnene åbne...

men du skal have 1000 tak for at du gav sidde på denne tid og belære mig i noget så tørt som javascript ;)

hvis du vil ha point, skal du bare smide et svar...
Avatar billede Slettet bruger
07. november 2002 - 03:56 #51
sure thing!
Avatar billede Slettet bruger
07. november 2002 - 03:57 #52
Sov godt!
Avatar billede lerchedahl Nybegynder
07. november 2002 - 03:57 #53
ilm
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester