[javascript+validater] gebruik van document.write, escapen?

Pagina: 1
Acties:
  • 30 views sinds 30-01-2008

  • Mayco
  • Registratie: Augustus 2002
  • Laatst online: 18-05 13:17
Ik ben bezig aan een klein paginaatje waar wat linkjes naar screenshots komen. Nu moeten deze screenshots in een popupvenstertje komen. Hier had ik een mooi scriptje voor gevonden, namelijk http://www.howtocreate.co.uk/perfectPopups.html

Mijn probleem is nu dat die niet meer wil validaten. De validator begint de dingen die in de javascript staan ook te valideren. Dit is niet de bedoeling... Is hier een oplossing voor, buiten heel het javascript te escapen?

een van de 39 fouten die ik krijg (komt overeen met lijn 4):
code:
1
2
3
Line 21, column 29: document type does not allow element "html" here

imgWin.document.write('<html><head><title>'+imageTitle+'<\/title><script type="


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
function popImage(imageURL,imageTitle){
    var imgWin = window.open('','_blank','scrollbars=no,resizable=1,width='+defaultWidth+',height='+defaultHeight+',left='+PositionX+',top='+PositionY);
    if( !imgWin ) { return true; }
    imgWin.document.write('<html><head><title>'+imageTitle+'<\/title><script type="text\/javascript">\n'+
        'function resizeWinTo() {\n'+
        'if( !document.images.length ) { document.images[0] = document.layers[0].images[0]; }'+
        'var oH = document.images[0].height, oW = document.images[0].width;\n'+
        'if( !oH || window.doneAlready ) { return; }\n'+
        'window.doneAlready = true;\n'+
        'var x = window; x.resizeTo( oW + 200, oH + 200 );\n'+
        'var myW = 0, myH = 0, d = x.document.documentElement, b = x.document.body;\n'+
        'if( x.innerWidth ) { myW = x.innerWidth; myH = x.innerHeight; }\n'+
        'else if( d && d.clientWidth ) { myW = d.clientWidth; myH = d.clientHeight; }\n'+
        'else if( b && b.clientWidth ) { myW = b.clientWidth; myH = b.clientHeight; }\n'+
        'if( window.opera && !document.childNodes ) { myW += 16; }\n'+
        'x.resizeTo( oW = oW + ( ( oW + 200 ) - myW ), oH = oH + ( (oH + 200 ) - myH ) );\n'+
        'var scW = screen.availWidth ? screen.availWidth : screen.width;\n'+
        'var scH = screen.availHeight ? screen.availHeight : screen.height;\n'+
        'if( !window.opera ) { x.moveTo(Math.round((scW-oW)/2),Math.round((scH-oH)/2)); }\n'+
        '}\n'+
        '<\/script>'+
        '<\/head><body onload="resizeWinTo();"'+(AutoClose?' onblur="self.close();"':'')+'>'+
        (document.layers?('<layer left="0" top="0">'):('<div style="position:absolute;left:0px;top:0px;">'))+
        '[img]'+imageURL+'[/img]'+
        (document.layers?'<\/layer>':'<\/div>')+'<\/body><\/html>');
    imgWin.document.close();
    if( imgWin.focus ) { imgWin.focus(); }
    return false;
}


edit: bijna vergeten, een externe file is geen optie, ik wil alles in een file hebben.

[ Voor 17% gewijzigd door Mayco op 24-11-2004 15:16 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 19-05 13:45

gorgi_19

Kruimeltjes zijn weer op :9

Javascript hoort thuis in Webdesign & Graphics :) echter, ook daar zal deze dicht gaan. In Webdesign & Graphics en Programming & Webscripting wordt er geen support gegeven op scripts van anderen. Neem hiervoor contact op met de maker :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Dit topic is gesloten.