Momo: Verweise

Trotz Forumssuche und inzwischen tränender Augen - auf meine einfache Frage habe ich keine Antwort gefunden - deshalb jetzt die schüchterne Frage. Kann ich innerhalb eines CGI-Scriptes, Verweise ebenfalls mit "target="_blank" setzen, oder wie bekomme ich hin, daß die angegebene URL beim Anklicken in einem neuen Fenster geöffnet wird. Es geht dabei konkret um eine Suchmaschine, deren Ergebnisse ich eben gern in einem neuen Fenster geöffnet hätte. Wenn mir jemand helfen kann - wäre prima.
Ciao Momo

  1. Klar geht das. Beispiel auf <LomoDo.de> und dort die Link-Page. Alle Links laufen über ein Perlscript mit target="_blank"

    also z.B. <a href="/cgi-local/tuwas.pl?arg=wert" target="_blank">tuwas</a>

    PS: ich habe mein Konto bei der Zeitsparkasse aufgelöst ..

    1. Hi,

      also z.B. <a href="/cgi-local/tuwas.pl?arg=wert" target="_blank">tuwas</a>

      ich möchte nur der Form halber erwähnen, daß das weder etwas mit Perl noch mit CGI zu tun hat; nicht mal im Ansatz. Das ist simpelstes HTML.

      Genauer gesagt: Mit einem CGI-Script ist es nicht möglich[1], ein Target zu definieren. Das geht nur von HTML aus.

      Cheatah

      [1] Es gibt einen Header, der die Angabe eines Targets erlaubt. Meines Wissens interpretiert den aber ausschließlich Netscape 4, so daß er leider nutzlos ist.

      1. Tja, das ist mir schon alles irgendwie klar, das Problem ist aber folgendes. Innerhalb des CGI-Scriptes gibt es den Befehl, die gefundene URL auszudrucken.

        Also, diese gefundene URL soll beim Anklicken aber die Seite in einem neuen Fenster öffnen. Und das funktioniert mit Target="_blank" nicht. Ich habe es auch noch nirgends gesehen, ausser bei MetaGer. Was mache ich da bloß falsch???

        Das muss es wie gesagt geben, bei Metager funktioniert es ja irgendwie - sämtliche gefundene Links lassen sich in einem neuen Fenster öffnen.

        Danke erstmal für die schnellen Antworten (Und das obwohl da jemand sein Zeitkonto aufgelöst hat ;o))

        Ciao Momo

        1. Hi,

          Tja, das ist mir schon alles irgendwie klar, das Problem ist aber folgendes. Innerhalb des CGI-Scriptes gibt es den Befehl, die gefundene URL auszudrucken.

          definiere "gefundene URL ausdrucken". Was meinst Du damit (Codeschnipselchen)?

          Also, diese gefundene URL soll beim Anklicken aber die Seite in einem neuen Fenster öffnen. Und das funktioniert mit Target="_blank" nicht.

          Doch, exakt das tut target="_blank". Klick mal hier: <a href="http://cheatah.net" target="_blank">http://cheatah.net" target="_blank</a>

          Das muss es wie gesagt geben, bei Metager funktioniert es ja irgendwie - sämtliche gefundene Links lassen sich in einem neuen Fenster öffnen.

          Ja, mit target="_blank".

          Cheatah

          1. Also, wenn ich Deine Antwort so lese, glaube ich, ich habe es immer noch nicht richtig erklärt :o((. Ich weiß, wie das in HTML funktioniert, aber wie ist es in diesem Fall?

            Routine for 'words' search

            if ($FORM{'mode'} eq "words") {  
            

            $searchstring=$FORM{'keywords'};
              @words = split (/ /,$searchstring);
              foreach $word (@words) {
               $wordlength = length($word);
               if ($wordlength < $minword) {
                &stringshort;
               }
              }
              &heading;
              $entries = @input;
              if ($position == 0) {
               $currentline = $entries;
              } else {
               $currentline = $position;
              }
              $found="0";
              print "<CENTER><FONT $font SIZE=2><B>Suchergebnisse : </B>'$FORM{'keywords'}'<P></FONT></CENTER>";
              print "<HR WIDTH=400>";
              print "<FONT $font SIZE=2>";
              until ($found > 9 $currentline == 0) {
               foreach $word (@words) {
                if ($input[$currentline] =~ /$word/i) {
                 @data = split (/::/,$input[$currentline]);
                 if ($data[4] ne "") {
                  if ($safekey eq "on" && $match == 0) {
                   foreach $smutword (@smutwords) {
                    if ($input[$currentline] =~ /$smutword/i) {
                     $smut = 1;
                    }
                   }
                   unless ($smut == 1) {
                   print "<A HREF="$data[0]"><B>$data[1]</B></A><BR>";
                                              print "$data[4]<BR>";
                   print "<I>$data[0]</I><P>";
                   ++$found;
                   ++$match;

            Genau da geht das eben nicht so ohne weiteres, ähnlich ie in Java, wo ich dann eben newwin eingeben muss, möchte ich gern wissen, was ich hier eingeben muss, target="_blank" jedenfalls nicht.

            Ciao Momo

            1. Hi,

              Also, wenn ich Deine Antwort so lese, glaube ich, ich habe es immer noch nicht richtig erklärt :o((. Ich weiß, wie das in HTML funktioniert, aber wie ist es in diesem Fall?

              das Script tut nichts weiter als HTML-Code auszugeben. Diesen mußt Du anpassen - ganz einfach.

              print "<A HREF="$data[0]"><B>$data[1]</B></A><BR>";

              Da steht der Code drin, den Du verändern mußt. Einfach das target="_blank" dazu, nur halt mit maskierten Quotes, also:

              print "<A HREF="$data[0]" target="_blank"><B>$data[1]</B></A><BR>";

              Ist doch wirklich nicht schwer, oder? :-)

              Cheatah

              1. Doch ist schwer, weil ich das schon gemacht habe - aber es funktioniert eben nicht :o((

                Ciao Momo

                1. Hi,

                  Doch ist schwer, weil ich das schon gemacht habe - aber es funktioniert eben nicht :o((

                  "funktioniert nicht" ist keine Fehlerbeschreibung. Es kann nur wie beschrieben funktionieren (oder per <base target> im Head des HTML-Dokuments), wenn es das nicht tut, hast Du etwas anderes falsch gemacht.

                  Cheatah

                2. Doch ist schwer, weil ich das schon gemacht habe - aber es funktioniert eben nicht :o((

                  print "<A HREF="$data[0]" target="_blank"><B>$data[1]</B></A><BR>";

                  Schau' Dir den generierten HTML Code an - das *muß* funktionieren (Es sei denn, Du testest mit dem NCSA Mosaic, der keine Frames kennt ;-)

                  Das Ergebnis müßte sein:
                  <A HREF="http://dein.link.com" target="_blank"><B>Deine Beschreibung</B></A><BR>

                  wennnich, dann hast Du halt einen kleinen, gemeinen Fehler in Deinem Perl ...