Metatags in einem extra Fenster anzeigen
Katrin Schülke
- javascript
0 Lemmy Danger0 Katrin
0 Julian Hofmann
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
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
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>
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