Avatar billede doggy82 Praktikant
06. september 2004 - 15:29 Der er 20 kommentarer og
1 løsning

Indhente html fra ekstern fil med JS? Nemt spg - tror jeg

Hejsa.

Jeg importerer noget html fra en ekstern JS-fil med
<script src="ekstern.js">
</script>

Og så document.write("html koder..") i ekstern.js.

Men skal man skrive document.write("") i hver linie?
Eller er der en smartere måde? Jo altså jeg kan jo skrive det hele i én linie, men det er nu heller ikke så smart.

Taksa - Lasse
Avatar billede doggy82 Praktikant
06. september 2004 - 15:30 #1
Ow sig endelig til hvis spørgsmålet ikke er til at forstå :D
Avatar billede mat Nybegynder
06. september 2004 - 15:33 #2
Du kan evt samle en streng undervejs?

str = "<html>";
str += "<head>";
str += "<title>";

// osv osv

Document.write(str);

..men om det er nemmere?
Avatar billede doggy82 Praktikant
06. september 2004 - 15:34 #3
Aarh ha! Typisk - så fandt jeg ud af det.
Det er jo bare at lave blødt linenskift med Shift+Enter  :)
Point til mig.

Lader lieg stå åbent hvis nogle har noget yderligt hjælp eller lign.
Avatar billede roenving Novice
06. september 2004 - 16:42 #4
I http://www.eksperten.dk/spm/496122 kan du se et eksempel på at hente data (i eksemplet til en select-box !-) fra en fil indlæst i en iframe, det nummer kan man pricipielt også udføre med alt mulig andet tekst eller kode ...
Avatar billede doggy82 Praktikant
06. september 2004 - 21:14 #5
Hmm ved ikke lige om det er det jeg leder efter.
Altså pointen er at jeg har en menu som jeg ikke gider at kopiere ind på alle mine sider. Så jeg vil lægge menuen eksternt. Det er "the same old story" ;D
Avatar billede b_ball Nybegynder
06. september 2004 - 21:16 #6
Ville det ikke være en ide at lave det med php/asp??

I ph
Avatar billede b_ball Nybegynder
06. september 2004 - 21:18 #7
I php ville koden være:

<?php
include "menu.php";
?>
bare ret mig hvis der er fejl.
Avatar billede doggy82 Praktikant
06. september 2004 - 21:33 #8
Jo selvfølgelig vil det det, men det her skal laves i JS foreløbigt.
Så må jeg se hvor stort projektet bliver.
Ellers tak.
Avatar billede roenving Novice
06. september 2004 - 23:00 #9
Hvis du i princippet klipper den html-kode, som er menuen ud af et fungerende dokument, og flytter det over i en anden fil, kan man som i eksemplet læse hele koden og indskrive det i f.eks. en div eller en tabelcelle via innerHTML !-)
Avatar billede doggy82 Praktikant
06. september 2004 - 23:10 #10
Det med at indlæse i en div lyder meget brugbart!
Men hvordan bruger jeg så innerHTML.
Jeg har søgt på Google, men kan ikke lige hitte ud af det
Avatar billede roenving Novice
06. september 2004 - 23:20 #11
Hvis du klipper, som jeg skriver, kan man f.eks.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Læs fra txt-fil i iframe til menudiv</title>
<meta name="Generator" content="Stone's WebWriter 4">
<meta name="keywords" content="roenving,http://www.eksperten.dk/spm/536770">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
html,body{height:100%;margin:0px;border:0px;padding:0px;font-family:tahoma,verdana,arial,sans-serif;font-size:small;}
#adresser{width:100px;height:100px;/*Disse værdier ændres til 0, når du har set det virke*/}
#menuDiv{width:200px;height:450px;border:1px solid black;margin:2px;position:relative;top:20px;left:20px;}
</style>
<script language="javascript" type="text/javascript">
function skrivMenu(){
  var x = window.frames['menu'].document.body.innerHTML.replace(/<\/?pre>/ig,"").toLowerCase();
  if(x)document.getElementById('menuDiv').innerHTML;
}
</script>
</head>
<body>
<div id="menuDiv">Her kommer menuen !-)</div>
<iframe src="menu.txt" id="menu" name="menu" onload="skrivMenu()"></iframe>
</body>
</html>
Avatar billede doggy82 Praktikant
06. september 2004 - 23:32 #12
hmm virker ikke :(
Avatar billede roenving Novice
06. september 2004 - 23:34 #13
Hvad gør du ?-)
Avatar billede doggy82 Praktikant
06. september 2004 - 23:42 #14
- Kopierer koden ind i et tomt dokument
- Laver en tekstfil menu.txt med lidt kode: <h1>Test</h1>

Burde det ikke være det?
Avatar billede roenving Novice
06. september 2004 - 23:47 #15
Jo, menøh ... !-)

Jeg havde jo glemt to tegn:

<script language="javascript" type="text/javascript">
function skrivMenu(){
  var x = window.frames['menu'].document.body.innerHTML.replace(/<\/?pre>/ig,"");
  if(x)document.getElementById('menuDiv').innerHTML=x;
}
</script>
Avatar billede doggy82 Praktikant
06. september 2004 - 23:52 #16
Ok så langt så godt ;-)
Nu indlæser den indholdet af filen. Men den læser det ikke som html!?
Avatar billede roenving Novice
07. september 2004 - 00:04 #17
Læser den ikke h1-tagget ?-)

-- jeg testede ikke lige med noget html-kode i en txt-fil, men det skulle da undre mig meget ...

-- og browserne omskriver åbenbart den slags i txt-filer til html-entiteter, så man må:

<script language="javascript" type="text/javascript">
function skrivMenu(){
  var x = window.frames['menu'].document.body.innerHTML.replace(/<\/?pre>/ig,"").replace(/&lt;/ig,"<").replace(/&gt;/ig,">");
  if(x)document.getElementById('menuDiv').innerHTML=x;
}
</script>

-- men jeg ved faktisk heller ikke, om der skulle være andre problemer !-)
Avatar billede doggy82 Praktikant
07. september 2004 - 00:33 #18
Ja ja ja - nu virker det :D
Læg et svar.

Og godnat (når du når så langt)
Avatar billede roenving Novice
07. september 2004 - 00:56 #19
Velbekomme '-)

-- og i ganske lige måde !-)
Avatar billede roenving Novice
07. september 2004 - 01:09 #20
-- og tak for point ;~}
Avatar billede doggy82 Praktikant
08. september 2004 - 00:31 #21
Velbekommen.
Og hold da kæft det virker bare godt :)
Jeg var lidt bange for om det ville fungere med css'en,
men ingen problemer der overhoved. Det opfører sig helt normalt.
Tusind tak igen. Det er sgu fedt med kode-hajer som dig :)
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