Dennis D.: window.open

Hallo,

ich habe folgende Seite und versuche dort das onclick="window.open...." unterzubringen:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
</head>
<body>
<p class="p_bild"><a href="dia.php?act=07&amp;alb=$alb&amp;pic=$x" title="Klick hier, um Bild $x / $max aufzurufen"><img src="2007/$file sm ($x).jpg" alt="Bild $x/$max" class="img_bild" /></a></p>
</body>
</html>

Das Ganze wollte ich als popup haben und habe nun die onclick window.open eingefügt.

Hab nach lesen von Selghtml in den <a> tag eingefügt.
Habe es auf zwei Versionen probiert:
1.) <a href="javascrip:window.open('dia.php?act=05&amp;alb=$alb&amp;pic=$x','Dia','toolbar=no,status=no,menubar=no,width=640,height=680')" title="Klick hier, um Bild $x / $max aufzurufen">
Das hat nicht funktioniert!
also:
2.) <a href="#" title="Klick hier, um Bild $x / $max aufzurufen" onClick="window.open('dia.php?act=05&amp;alb=$alb&amp;pic=$x','Dia','toolbar=no,status=no,menubar=no,width=640,height=680')">
So, das hat zwar funktioniert, nun aber das Problem:

Der Validator sagt: there is no attribute "onClick"
Ich will nach Möglichkeit "Passed validation" erhalten.

Wie bekomme ich das hin?

Vielen Dank für eure Hilfe

Gruß Dennis

  1. Hallo!
    Wo kommen denn deine $x, etc. Werte her?
    Title-Element fehlt auch.

    --
    LG,
    Snafu
    1. Is eigentlich ne PHP-Datei, habe es aber so angepasst, das ich das hier einfügen kann. Deswegen fehlt auch der title.

      Die ganze Datei hätte den Rahmen gesprengt, daher nur die wesentlichen Sachen.

      Gruß Dennis

  2. Hi,

    ich habe folgende Seite und versuche dort das onclick="window.open...." unterzubringen:

    laut Deinem Code tust Du das nicht, sondern versuchst ein onClick="window.open...." unterzubringen. Das ist ein immenser Unterschied, wenn ...

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    ... die verwendete Technik case-sensitive ist.

    <p class="p_bild"><a href="dia.php?act=07&amp;alb=$alb&amp;pic=$x" title="Klick hier, um Bild $x / $max aufzurufen"><img src="2007/$file sm ($x).jpg" alt="Bild $x/$max" class="img_bild" /></a></p>
    Hab nach lesen von Selghtml in den <a> tag eingefügt.

    Gut. Dein Link ist bereits korrekt, er verlinkt eine weitere Ressource, so dass dies:

    1.) <a href="javascrip:window.open('dia.php?act=05&amp;alb=$alb&amp;pic=$x','Dia','toolbar=no,status=no,menubar=no,width=640,height=680')" title="Klick hier, um Bild $x / $max aufzurufen">

    eine Verschlechterung darstellt. Darüber hinaus gibt es kein Protokoll namens "javascrip:".

    Das hat nicht funktioniert!

    Und die Fehlerbeschreibung lautet?

    2.) <a href="#"

    Wieso? Du hattest doch eine wunderbare URL im Code stehen. Ein Fragment des aktuellen Dokuments zu verlinken, ohne dieses Fragment zu nennen, ist sinnfrei; hiermit hättest Du keine Rechtfertigung mehr für ein <a>-Element.

    [...] onClick="window.open('dia.php?act=05&amp;alb=$alb&amp;pic=$x','Dia','toolbar=no,status=no,menubar=no,width=640,height=680')">

    Innerhalb eines Event-Handlers referenziert das JavaScript-Objekt this übrigens das aktuelle Element, welches in diesem Fall über eine href-Eigenschaft verfügt. Dies kannst Du geschickt nutzen.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Moin,

      hab es jetzt abgeändert...

      <p class="p_bild"><a href="dia.php?act=05&amp;alb=$alb&amp;pic=$x" onclick="window.open(this.href,'Dia','toolbar=no,status=no,menubar=no,width=640,height=680'); return false" title="Klick hier, um Bild $x / $max aufzurufen"><img src="2005/$file sm ($x).jpg" alt="Bild $x/$max" class="img_bild" /></a></p>";

      Jetzt funktioniert es und ist valid, danke
      Noch ne Verbesserung oder nen Änderungsvorschlag?

      Gruß Dennis

      1. Hallo Dennis,

        Noch ne Verbesserung oder nen Änderungsvorschlag?

        ja: Vermeide prophylaktisch Leerzeichen in URLs. Die machen gern mal Probleme.

        <img src="2005/$file sm ($x).jpg" alt="Bild $x/$max" class="img_bild" />

        Und wenn du sie schon unbedingt nutzen möchtest, dann codiere sie wenigstens URL-gerecht, und verlasse dich nicht drauf, dass der Browser das schon tun wird.

        So long,
         Martin

        --
        Das Gehirn ist schon eine tolle Sache: Es fängt ganz von allein an zu arbeiten, wenn man morgens aufsteht, und hört erst damit auf, wenn man in der Schule ankommt.
          (alte Schülererkenntnis)
  3. Lieber Dennis,

    1.) <a href="javascrip:window.open('dia.php?act=05&amp;alb=$alb&amp;pic=$x','Dia','toolbar=no,status=no,menubar=no,width=640,height=680')" title="Klick hier, um Bild $x / $max aufzurufen">

    2.) <a href="#" title="Klick hier, um Bild $x / $max aufzurufen" onClick="window.open('dia.php?act=05&amp;alb=$alb&amp;pic=$x','Dia','toolbar=no,status=no,menubar=no,width=640,height=680')">

    warum nicht so?

    Liebe Grüße aus Ellwangen,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)