Avatar billede sms_man Nybegynder
29. januar 2003 - 15:34 Der er 9 kommentarer og
1 løsning

sæt iframe innerHTML onload

hvordan sætter jeg en iframes indhold onload?

min body:
<body onload="init();">

min iframe:
<iframe name="Eview" id="Eview" src="back.htm"></iframe>

javascriptet:
<script language="JavaScript" type="text/JavaScript">
<!--
function init(){
  Eview.document.designMode = 'on';
  Eview.focus();

//MIT FORESLAG///////////////////
  q = 'TEST-TEKST';
  Eview.document.innerHTML = q;
/////////////////////////////////

}
//-->
</script>

det jeg selv har prøvet resulterer ikke i fejl...min TEST-TEKST bliver bare ikke sat ind :(
Avatar billede pelkjaer Nybegynder
29. januar 2003 - 15:48 #1
Fx. sådan her:

<html>
<head>
<script language="JavaScript" type="text/JavaScript">
<!--
function init() {
var sHTML = ""
  sHTML += ""
    + "<style>"
    +    "body {border: 1px lightgrey solid;}"
    + "</style>"
    +    "<p>TEST-TEKST</p>"
    + "</body>"
    Eview.document.designMode = "on"
    Eview.document.open("text/html","replace")
    Eview.document.write(sHTML)
    Eview.document.close()
}
//-->
</script>
</head>
<body onload="init();">

<iframe name="Eview" id="Eview" src="back.htm"></iframe>

</body>
</html>
Avatar billede sms_man Nybegynder
29. januar 2003 - 16:08 #2
jeg har sat din kode ind. det virker , men ødelægger samtidig at iframes indhold er redigerbart....

jeg bruger iframen som et avanceret textarea, hvor jeg kan gøre skrifttypen fed, understreget, osv...
Avatar billede pelkjaer Nybegynder
29. januar 2003 - 16:12 #3
Ja det kan jeg godt regne ud at du gør.
Og jeg forstår heller ikke hvad den ødelægger.
Dette er blot en simpel udgave af min egen editors init funktion.

Kom med noget kode hvis det er.
Avatar billede sms_man Nybegynder
29. januar 2003 - 16:18 #4
Jeg har en statisk post i min db. den indeholder htmltext.<p>fuyfu</p><br>fhtfhtg<br>, osv...

indeholdet af den post ligger jeg på serversiden i en variabel der hedder content. når siden loader skal content smækkes ind i iframen...


function init(){
Eview.document.designMode = 'on';
window.status = "Editor";
Eview.focus();

q = '<%=content%>';
Eview.document.innerHTML = q;
}

det er egentlig det eneste kode der er. alt andet script er functioner til at gøre teksten fed, underline, osv...
Avatar billede olebole Juniormester
29. januar 2003 - 16:23 #5
<ole>

Hvis du har fået pelkjaers til at ødelægge noget, er jeg temmelig sikker på, du gør noget forkert. Men prøv evt. at rette din egen til:

//MIT FORESLAG///////////////////
  q = 'TEST-TEKST';
  Eview.document.body.innerHTML = q;
/////////////////////////////////

document har ikke i sig selv nogen innerHTML.
Det er dog stadig afhængig af, hvad du vil lave - og det er der jo ingen af os, der aner  :)

/mvh
</bole>
Avatar billede sms_man Nybegynder
29. januar 2003 - 16:25 #6
det jeg vil lave er et textarea på steroider

<ole>
function init(){
Eview.document.designMode = 'on';
window.status = "Editor";
Eview.focus();

q = '<%=content%>';
Eview.document.body.innerHTML = q;
}

det resulterer i en lille gul i hjørnet...
Avatar billede pelkjaer Nybegynder
29. januar 2003 - 16:32 #7
Jeg har skrevet lidt vidrere - denne burde være køreklar.
Din asp kan du smide i div'en over iframen
<html>
<head>
<script language="JavaScript" type="text/JavaScript">
<!--
function init() {
var sHTML = ""
  sHTML += ""
    + "<style>"
    +    "body {border: 1px lightgrey solid;}"
    + "</style>"
    + "</body>"
    Eview.document.designMode = "on"
    Eview.document.open("text/html","replace")
    Eview.document.write(sHTML)
    Eview.document.close()
    Eview.document.body.innerHTML = EviewTemp.innerHTML;
}

function cmdExec(cmd,bla) {
    document.frames('Eview').document.execCommand(cmd,"",bla);
    document.frames('Eview').focus();
}

function Save() {
    myform.myfield.value = Eview.document.body.innerHTML;
    myform.submit();
}
//-->
</script>
</head>
<body onload="init();">

<form name="myform" method="post">
<input name="myfield" type="hidden" value="">
</form>

<div id="EviewTemp" style="display:none;">hejsa med dig du</div>

<iframe name="Eview" id="Eview" src="back.htm"></iframe>

<br>

<a href="#" onclick="cmdExec('bold');">Fed</a><br>
<a href="#" onclick="cmdExec('italic');">Kursiv</a><br>
<a href="#" onclick="cmdExec('underline');">Understreget</a>

</body>
</html>
Avatar billede pelkjaer Nybegynder
29. januar 2003 - 16:34 #8
Glemte lige en save button - skal selvfølgelig placeres i formen

<input type="submit" value="gem">
Avatar billede sms_man Nybegynder
29. januar 2003 - 16:43 #9
function init() {
var sHTML = ""
  sHTML += ""
    + "<style>"
    +    "body {font-family: verdana; font-size: 10px;}"
    + "</style>"
    + "</body>"
    Eview.document.designMode = "on"
    Eview.document.open("text/html","replace")
    Eview.document.write(sHTML)
    Eview.document.close()
    Eview.document.body.innerHTML = document.getElementById('content').value;
}

så er jeg køreklar...
Avatar billede pelkjaer Nybegynder
29. januar 2003 - 16:45 #10
Fint :)
Tak for point.
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