Mon: Links auf wav-Datei in <iframe> funktioniert nicht

Hallo

Ich habe eine HTML-Seite mit zwei iframes eingebettet, erzeugt mit Perl/CGI. Soweit funktioniert das ganz gut.
Nun habe ich aber den Fall, dass ich Links aus so einer eingebetteten HTML-Seite auf wav-Dateien brauche. Bei SELFHTML unter der Erklärung zu <iframe> funktionieren die Links auch. Wenn ich die eingebettete Seite nicht im Rahmen, sondern als alleinstehende Seite öffne, dann funktionieren die Links auch.
ABER: in dem Moment, wo ich einen Link in der eingebetteten Seite anklicke, wird der Cursor zwar noch zur Hand, passieren tut aber sonst nichts.

Hat jemand eine Idee für mich?

  1. Hallo,

    Hat jemand eine Idee für mich?

    wie wär es mit einem Stück Quelltext?
    Wie genau sieht dein Link denn aus?
    Vielleicht kannst du uns sogar einen Link zu deiner Seite geben? (Google wird sich bedanken ^^)

    Grüße, Matze

    1. » wie wär es mit einem Stück Quelltext?

      Du hast recht (zumal ich mal in SELFHTML die index.hmtl lokal so geändert habe, dass sie auf eine wav-Datei verlinkt, und dort ging es! ...).

      Es werden zwei Dateien erzeugt, einen Rahmen und eine eingebettete Datei. Die relevanten Code-Teile sollten sein:

      Rahmendatei:

      use CGI qw(:standard);
      ...
      print header(
              -type=>'text/html',
              -charset=>'UTF-8',

      ),

      start_html(
              -dtd=>'-//W3C//DTD HTML 4.01 Transitional//EN"
                      "http://www.w3.org/TR/html4/loose.dtd',
              -title=>'Lexikon',
              -script=>{
                  -language=>'JavaScript',
                  -code=>'function sf(){ ... }'
                  },
              -onLoad=>'sf()',
              -style=>{'src'=>'c:/myDIC/PRO_FILES/style.css'},
              -BGCOLOR=>'#D9DEAD',
              ),
      ...
          '<iframe src="../../result.htm" name="result" width="920" height="980">',
          )
      ...
          end_form,
          end_html;

      Eingebettete Datei:

      open RES, ">c:/Programme/indigoperl/htdocs/result.htm";

      print RES '<?xml version="1.0" encoding="utf-8"?>'."\n";
      print RES '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"'."\n";
      print RES '"http://www.w3.org/TR/html4/loose.dtd">'."\n";
      print RES '<html><head><title>Ergebnis</title>';
      print RES '<meta content="text/html; charset=UTF-8" http-equiv=Content-Type>';
      print RES '</head><body>'."\n";
      ...
      <a href="c:/Programme/XXX/wav2/J26776.wav">audio</a>
      ...
      print RES '</body></html>';

      1. Das ist echt zum Verzweifeln. Irgendwie scheinen unter CGI andere Bedingungen zu herrschen als bei einer "normalen" HTML-Datei.

        Bei folgendem Code in einer normalen HTML-Datei funktionieren die Links:

        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
               "http://www.w3.org/TR/html4/loose.dtd">
        <html>
        <head>
        <title>Eingebettete Frames definieren</title>
        </head>
        <body>

        <h1>Fenstergucker</h1>

        <p>Gucken Sie mal SELFHTML im Fenster an:</p>

        <iframe src="../../../index.htm" name="SELFHTML_in_a_box" width="90%" height="400">
        <p>Ihr Browser kann leider keine eingebetteten Frames anzeigen:
        Sie k&ouml;nnen die eingebettete Seite &uuml;ber den folgenden Verweis
        aufrufen: <a href="../../../index.htm">SELFHTML</a></p>
        </iframe>

        </body>
        </html>

        (Das ist aus SELFHTML, aber ich habe die index.htm mit meiner Datei ausgetauscht).

        Ich habe versucht mit CGI auch so einen Code zu erzeugen:

        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
                        "http://www.w3.org/TR/html4/loose.dtd">
        <html><head><title>Lexikon</title>
        </head><body>

        <iframe src="../../result.htm" name="result" width="920" height="980">
        <p>Bla</p>
        </iframe>
        </body></html>

        Die Links gehen bei der ersten Variante und bei der zweiten nicht. Mir fällt nichts mehr ein, was ich noch probieren könnte...

        1. Hallo

          Das ist jetzt ein Monolog geworden, aber das war eigene Schuld, denn den Part, woran es gehangen hat, hatte ich nicht mitgeliefert:

          Im Gegensatz zu meinen heruntergeladenen SELFHTML-Dateien, haben meine mit CGI-Dateien andere Pfade. Absolute Pfade haben hier nicht funktioniert, sondern ich musste in meinem Fall von c:/Programme/indigoperl aus anfangen zu denken und dann nur noch relative Pfade verwenden. Wenn man erst mal dahintergekommen ist, ist es einfach...