[JS] Plaatje openen in nieuw window, maar dan sluiten?

Pagina: 1
Acties:

  • Yuri
  • Registratie: Juni 2001
  • Laatst online: 13-08 00:23
Ok ik heb een pagina met tumbnails d'r op en als er op geclicked wordt dan komt er een popup zonder balken en randen, alleen met het plaatje. Maar nu wil ik dat wanneer ik op dat plaatje click dat het window dan vanzelf sluit! Hoe doe ik dat?

gewone <A HREF="JavaScript:window.close()></a> werkt niet! Althans niet zoals ik hem d'r in gezet heb.

Dit is de source:

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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<html>
<script language = javascript>
function image_open(image_loc,img)
{
  HTML = "<html><style>body{margin:0px 0px 0px 0px}</style>
  <body onBlur='top.close()'>[img]'"+[/img]
  </body></html>";
  popupImage = window.open('','_blank','toolbar=no,scrollbars=no');
  popupImage.document.open();
  popupImage.document.write(HTML);
  popupImage.document.close();
  obj_img = document.getElementById(img);
  obj_img.src= obj_img.src;
  function click(e) {
  if (document.all) { 
  if (event.button == 2) {
  window.close();
  return false;
 }
 }
  if (document.layers) {
  if (e.which == 3) {
  window.close();
  return false;
  }
  }
  }
  if (document.layers) {
  document.captureEvents(Event.MOUSEDOWN);
  }
  document.onmousedown=click;
  
  }

</script>

<body>
<a href="JavaScript:image_open('DCP_3046.JPG','img1')" border=0>
[img]"tnDCP_3046.JPG"[/img]</a>

<a href="JavaScript:image_open('DCP_3047.JPG','img2')" border=0>
[img]"tnDCP_3047.JPG"[/img]</a>

<a href="JavaScript:image_open('DCP_3048.JPG','img3')" border=0>
[img]"tnDCP_3048.JPG"[/img]</a>

<a href="JavaScript:image_open('DCP_3052.JPG','img4')" border=0>
[img]"tnDCP_3052.JPG"[/img]</a>

</body>
</html>

[ Voor 34% gewijzigd door Yuri op 10-03-2003 13:35 ]

GoT voor Behoud der Nederlandschen Taal [GvBdNT]


  • sjroorda
  • Registratie: December 2001
  • Laatst online: 23-08 18:13
[img]...[/img]

  • Yuri
  • Registratie: Juni 2001
  • Laatst online: 13-08 00:23
ja waar? in de head of in de body?

GoT voor Behoud der Nederlandschen Taal [GvBdNT]


  • sjroorda
  • Registratie: December 2001
  • Laatst online: 23-08 18:13
code:
1
2
3
4
5
6
7
8
9
<script language = javascript>
function image_open(image_loc,img)
{
  HTML = "<html><style>body{margin:0px 0px 0px 0px}</style>
  <body onBlur='top.close()'><img onClick="self.close();" 
src='"+ image_loc +"' border=0 name=load_image 
onLoad='window.resizeTo(document.load_image.width+10,document.load_image.height+30)'>
  </body></html>";
...

In de vijfde regel uit bovenstaande quote dus

[ Voor 18% gewijzigd door sjroorda op 10-03-2003 13:41 . Reden: lay-out ]


  • RM-rf
  • Registratie: September 2000
  • Laatst online: 23:23

RM-rf

1 2 3 4 5 7 6 8 9

een 'click' vind enkel plaats op een element dat 'clickable' is, ofwel gelinked door een A of AREA tag, is een IMG niet gelinked vind er geen click-event plaats.
msie doet dat wel maar netscape4x, opera en mozilla naar ik meen niet.

aangezien je andere code wel netscape4x en mozilla-compatible is, zou het zin hebben de onclick te vervangen door ofwel onmousedown, ofwel een <A HREF="#"></a> om je img heen te zetten zodat er een click kan plaatsinden. (de href="#" functioneert prima omdat het venster toch sluit, en aldus het scroll-effect en stop-laden effect van de #-link ongedaan gemaakt wordt)

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • Yuri
  • Registratie: Juni 2001
  • Laatst online: 13-08 00:23
sjroorda schreef op 10 March 2003 @ 13:40:
code:
1
2
3
4
5
6
7
8
9
<script language = javascript>
function image_open(image_loc,img)
{
  HTML = "<html><style>body{margin:0px 0px 0px 0px}</style>
  <body onBlur='top.close()'><img onClick="self.close();" 
src='"+ image_loc +"' border=0 name=load_image 
onLoad='window.resizeTo(document.load_image.width+10,document.load_image.height+30)'>
  </body></html>";
...

In de vijfde regel uit bovenstaande quote dus
OK wat doe ik fout? ik heb hem daar staan zoals jij em gepost had. En dan zegt ie een fout heeft in de pagina. Regel 1 Teken 1 Fout: Object wordt verwacht!

Wat doe ik verkeerd?

GoT voor Behoud der Nederlandschen Taal [GvBdNT]


  • Yuri
  • Registratie: Juni 2001
  • Laatst online: 13-08 00:23
RM-rf schreef op 10 March 2003 @ 13:53:
een 'click' vind enkel plaats op een element dat 'clickable' is, ofwel gelinked door een A of AREA tag, is een IMG niet gelinked vind er geen click-event plaats.
msie doet dat wel maar netscape4x, opera en mozilla naar ik meen niet.

aangezien je andere code wel netscape4x en mozilla-compatible is, zou het zin hebben de onclick te vervangen door ofwel onmousedown, ofwel een <A HREF="#"></a> om je img heen te zetten zodat er een click kan plaatsinden. (de href="#" functioneert prima omdat het venster toch sluit, en aldus het scroll-effect en stop-laden effect van de #-link ongedaan gemaakt wordt)
werkt ook niet schijnbaar.... :(

GoT voor Behoud der Nederlandschen Taal [GvBdNT]


  • RM-rf
  • Registratie: September 2000
  • Laatst online: 23:23

RM-rf

1 2 3 4 5 7 6 8 9

code:
1
2
3
4
5
6
7
8
9
<script language = javascript>
function image_open(image_loc,img)
{
  HTML = "<html><style>body{margin:0px 0px 0px 0px}</style>
  <body onBlur='top.close()'><img onClick="self.close();" 
src='"+ image_loc +"' border=0 name=load_image 
onLoad='window.resizeTo(document.load_image.width+10,document.load_image.height+30)'>
  </body></html>";
...


javascript is kent normaal een afbreking bij een regeleinde, ofwel je laat een variabale ophouden bij het regeleinde (" + [newline] ") of wel je ''escaped' het regeleinde:

verder mag je geen enkele en dubbelle quotes verwisselen, en dien je in je html-code enkel enkele quotes(') te gebruiken als je in javascript de variabele definieert tussen dubbelle quotes ("), of je moet in je html-code de dubbelle quotes escapen (\")

code:
1
2
3
4
5
6
7
8
9
<script language = javascript>
function image_open(image_loc,img)
{
  HTML = "<html><style>body{margin:0px 0px 0px 0px}</style>"+
  "<body onBlur='top.close()'><img onClick='self.close();' " +
" src='"+ image_loc +"' border=0 name=load_image \
onLoad='window.resizeTo(document.load_image.width+10,document.load_image.height+30)'> \
</body></html>";
...

(de eerste twee regels is het regeleinde via afsluiten vd variabele met een (") en +-teken; de laatste twee regels met het escapen van regeleinde)

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • Yuri
  • Registratie: Juni 2001
  • Laatst online: 13-08 00:23
OK helemaal top! Hij werkt! Bedankt!

[ Voor 86% gewijzigd door Yuri op 10-03-2003 14:14 ]

GoT voor Behoud der Nederlandschen Taal [GvBdNT]

Pagina: 1