Katrin Schülke: Metatags in einem extra Fenster anzeigen

Guten Tag!

Als Praktikant habe ich die Aufgabe bekommen ein Script zu schreiben, dass die Metatags und den Titel einer Seite in einem Popup-Fenster anzeigt. Ich habe das Script für die Metatags und weiss auch wie man ein Popup-Fenster programmiert. Doch hierfür müssen die Daten an das neue Fenster weitergegeben werden, sonst werden natürlich die Daten des neuen Fensters ausgelesen und das hat ja keine Metatags.
Hier kommt das Script der Metatags:
function ShowMetaTag(){

var MetaTagList = document.all.tags("meta");

var ListLength = MetaTagList.length;
var MetaName;
var MetaContent;

document.write("<b>URL:</b> " + document.URL + "<br>");
document.write("<b>Titulo:</b> " + document.title + "<br>");

for (i = 0; i < ListLength; i++) {
   MetaName = MetaTagList[i].name;
   if (MetaTagList[i].content.length > 0)
       MetaContent = MetaTagList[i].content;
   else
       MetaContent = "Undefined !";

document.write("<b>" + MetaName + ":</b> " + MetaContent + "<br>");
}
}

Das Script für ein Popup ist allgemein bekannt, oder?!

Vielen Dank
Katrin

  1. Hallo Katrin,

    ich würde versuchen, mit opener.all.tags("meta") bzw. opener.document.all.tags("meta") (weiss nicht auswendig ob mit oder ohne document, vermute aber mal mit). Damit würdest Du direkt auf die Ursprungsseite zugreifen.
    Wenn das nicht geht würde ich die Meta-Angaben per GET-Methode, also in dem Aufruf des popups übergeben, à la window.open('popup.htm?meta_author='+variable_meta_author+'&meta_sonstwas='+variable_meta_sonstwas+'&...');
    Noch ne Methode wäre, die Variablen in hidden-Input-Felder zu packen und diese dann an das Popup-Window zu posten.

    Hoffe, meine Tipps werden Dir irgendwie helfen ;)

    Gruss
    Lemmy
    http://www.olison.com

    1. Hey, danke Lemmy!!

      Das hat funktioniert mit opener. Super!!!

      Hier der fertige Code für das Popupfenster:
      <html>
      <head>
      <title>Metatags</title>
      <script>
      function ShowMetaTag() {

      var MetaTagList = opener.document.all.tags("meta");

      var ListLength = MetaTagList.length;
      var MetaName;
      var MetaContent;

      document.write ("<b>URL: </b>" + opener.document.URL + "<BR>");
      document.write ("<b>Titulo: </b>" + opener.document.title + "<BR>");

      for (i = 0; i < ListLength; i++) {
       MetaName = MetaTagList[i].name;
       if (MetaTagList[i].content.length > 0)
       MetaContent = MetaTagList[i].content;
       else
        MetaContent = "no datos";
       document.write ("<b>" + MetaName + " : </b>"+ MetaContent + "<BR>");

      }
      }
      </script>
      </head>
      <body>

      <script>
      var x = ShowMetaTag();
      </script>

      </body>
      </html>

  2. Hallo Katrin.

    Zwar stelle ich den Sinn dieser Aufgabe komplett in Frage, aber Du musst sie ja machen, hast darüber demnach nicht zu entscheiden.

    MeinA nsatz wäre etwas anders: Lies die Daten per Skript im Popup aus. Über opener kannst Du das Fenster ansprechen, von dem aus das Popup geöffnet wurde. Dann musst Du keine Daten übergeben, sondern hast sie gleich dort, wo sie auch ausgegeben werden sollen.

    Grüße aus Würzburg
    Julian