Avatar billede jenz42 Nybegynder
03. juni 2005 - 12:45 Der er 8 kommentarer og
4 løsninger

HTML kode i variabel

Jeg har en masse HTML-sider med forskelligt indhold.
Jeg vil gerne lave én side, de alle sammen kan bruge som en printervenlig version. (i tabel med bredde, der passer til print).

Tanken er at HTML koden skal smides ned i en variabel, som "printsiden" så kan bruge.

HTML koden kan være den følgende:

<h1>Head</h1>
<h2>Subhead</h2>
<img src="/images/picture.jpg" align="right" border="1">
Bodytext bodytext bodytext bodytext bodytext bodytext bodytext bodytext
<p>2nd paragraph bodytext bodytext bodytext bodytext bodytext bodytext</p>
<p>3rd paragraph bodytext bodytext bodytext bodytext bodytext bodytext</p>

Man kunne så "fyre variablen af" på samme måde i de to sider, men i tabeller med forskellig bredde.
Hvordan gør man det?
Avatar billede medions Nybegynder
03. juni 2005 - 12:48 #1
Sådan her fx.:

var strHTML = "<h1>Head</h1>\n<h2>Subhead</h2>\n<img src=\"/images/picture.jpg\" align=\"right\" border=\"1\">"
document.write(strHTML)

//>Rune
Avatar billede medions Nybegynder
03. juni 2005 - 12:49 #2
Men ellers er der en rigtig god artikkel her:
http://alistapart.com/articles/goingtoprint/

//>Rune
Avatar billede medions Nybegynder
03. juni 2005 - 12:50 #3
Men ellers se hvad andre har gjort:
http://eksperten.dk/spm/261675

//>Rune
Avatar billede jenz42 Nybegynder
22. juli 2005 - 13:24 #4
Følgende har den rigtige virkning:
<HTML>
<HEAD>
<TITLE></TITLE>
<script>
function printIt() {
win = window.open("", "printwin", "width=600,height=800");
win.document.write(document.getElementById("p").innerHTML);
}
</script>
</HEAD>
<BODY>
bla bla bla<br><br>

<span id="p">Det der skal printes</span>

<input type="button" value="Print" onclick="printIt()">
</BODY>
</HTML>


Men jeg har brug for at implimentere yderligere funktionalitet:
Når vinduet popper op skal printmenuen fremkomme. Derudover skal det anvende det geneerlle stylesheet. Dvs. at det følgende skal implementeres i koden i headet:

<link rel="stylesheet" type="text/css" href="/includes/stylesheet/css.css">

og

<script language="javascript">
window.onload=function(){window.print();}
</script>


Hvordan gør man det? Jeg sidder fast i det.
Avatar billede roenving Novice
22. juli 2005 - 13:29 #5
<script type="text/javascript">
function printIt() {
  var win = window.open("", "printwin", "width=600,height=800");
  var txt = '<html><head><title>Print<\/title><script type="text/javascript">window.onload=function(){window.print()}<\/script>'
  txt += '<\/head><body>' + document.getElementById("p").innerHTML + '<\/body><\/html>';
  win.document.write(txt);
  win.document.close();
}
</script>
Avatar billede jenz42 Nybegynder
22. juli 2005 - 13:36 #6
Det går godt nok i kage.
Ingen af siderne med det i head bliver vist.
Avatar billede roenving Novice
22. juli 2005 - 13:40 #7
Argh, jeg havde glemt den gamle lærdom om ikke at have ordet script inde i et script-tag, så prøv:

<script type="text/javascript">
function printIt() {
  var win = window.open("", "printwin", "width=600,height=800");
  var txt = '<html><head><title>Print<\/title><scr' + 'ipt type="text/javascript">window.onload=function(){window.print()}<\/scr' + 'ipt>'
  txt += '<\/he' + 'ad><body>' + document.getElementById("p").innerHTML + '<\/bo' + 'dy><\/ht' + 'ml>';
  win.document.write(txt);
  win.document.close();
}
</script>
Avatar billede jenz42 Nybegynder
22. juli 2005 - 13:45 #8
Yes, det virker.
Nu mangler jeg bare at få linket til stylesheetet til at virke også.

I har fortjent points allerede, men det ville være fedt lige at få det med også.
Avatar billede roenving Novice
22. juli 2005 - 13:51 #9
<script type="text/javascript">
function printIt() {
  var win = window.open("", "printwin", "width=600,height=800");
  var txt = '<html><head><title>Print<\/title><scr' + 'ipt type="text/javascript">window.onload=function(){window.print()}<\/scr' + 'ipt>'
  txt += '<link rel="stylesheet" href="/includes/stylesheet/css.css"><\/he' + 'ad><body>';
  txt += document.getElementById("p").innerHTML + '<\/bo' + 'dy><\/ht' + 'ml>';
  win.document.write(txt);
  win.document.close();
}
</script>
Avatar billede jenz42 Nybegynder
22. juli 2005 - 13:57 #10
Det er helt fantastisk.
Mange tak for det.

Smid et svar, så får I hver 30 pts.
Avatar billede roenving Novice
22. juli 2005 - 14:06 #11
Velbekomme '-)
Avatar billede roenving Novice
22. juli 2005 - 14:30 #12
-- og 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