Sitemap im Popup steuert Hauptfenster..ich bekomms nicht hin ;-(
fisch
- javascript
hallo an alle,
ich habe folgendes Problem. ich habe eine sitemap die sich in einem popupfenster auf klick öffnen lässt. jetzt möchte ich damit das hauptfenster steuern und die sitemap soll stehen bleiben. ich habe im archiv schon was gefunden...aber meine probleme damit. also sorry, wenn ich nochmal nachfrage.
ich habe zwei varianten gefunden, welche beide nicht richtig funktionieren.
1: das script habe ich in die sitemap.htm gestopft
function myFunction()
{
opener.location.href='http://whateveryouwant.org';
self.close(); <---- da wird aber das sitemap fenster geschlossen. wie halte ich es offen.
}
<a href="#" onclick="myFunction();">Button</a>
wenn ich jetzt auf den button klicke steuere ich zwar das hauptfenster. aber die sitemap springt auch auf die angegebene url.
2:
Im Hauptfenster(von wo Sitemap aufgerufen wird):
function sitemap()
{
var fst = window.open("sitemap.htm","fernsteuerung",'resizable,width=300,
height=490,top=50,left=50');
}
Sitemap:
function fernsteuern(URL1)
{
opener.parent.location.href=URL1;
}
Links in Sitemap:
<a href="javascript:fernsteuern
('index.htm');">Test</a>
funktioniert aber auch nicht bei mir. da tut sich gar nix, wenn cih auf den link klicke. bin leider nicht so bewandert mit javascript würde das problem aber gerne lösen. kann mir wer helfen?
danke und liebe grüsse
fisch
hallo an alle,
ich habe zwei varianten gefunden, welche beide nicht richtig funktionieren.
ohne es gestestet zu haben, scheint mir die Kombination aus den beiden Lösungen funktionsfähig zu sein:
Sitemap:
function fernsteuern(URL1)
{
opener.location.href='http://whateveryouwant.org/'+URL1;
}
Links in Sitemap:
<a href="javascript:fernsteuern
('index.htm');">Test</a>
närrische Grüße
Sitemap:
function fernsteuern(URL1)
{
opener.location.href='http://whateveryouwant.org/'+URL1;}
Links in Sitemap:
<a href="javascript:fernsteuern
('index.htm');">Test</a>närrische Grüße
danke sonya...habs probiert. irgendwie funzt det net. kann das an den URL'S liegen? Blöde Frage: bei URL1 kommt ja der absolute pfad zur homepage hin, oder ?
närrische grüsse zurück :-)
Fisch
danke sonya...habs probiert. irgendwie funzt det net.
was kriegst Du für Fehlermeldung?
kann das an den URL'S liegen? Blöde Frage: bei URL1 kommt ja der absolute pfad zur homepage hin, oder ?
Nö, wenn Du die Variable URL1 meinst, die hat nur den Dateinamen oder relative Pfadangabe als String. In der Funktion fersteueren() setzt Du dann vor dem übermittelten Dateinamen die absolute Adresse deiner Seite, d. h. dass location.href genau die Zeichenfolge bekommt, die Du auch in die Adresszeile Deines Browsers "zu fuss" eintippen würdest.
Sonya
habs jetzt so gemacht und bekomme einen javascript fehler --> Bezeichner erwartet ??
function fernsteuern ("../index.htm")
{
opener.location.href='http://zoociety.de/'+"../index.htm";
}
lg
Fisch
Hi,
self.close(); <---- da wird aber das sitemap fenster geschlossen. wie halte ich es offen.
Was soll denn dann überhaupt geschlossen werden? Du meinst wahrscheinlich opener.focus() oder self.blur()
<a href="#" onclick="myFunction();">Button</a>
wenn ich jetzt auf den button klicke steuere ich zwar das hauptfenster. aber die sitemap springt auch auf die angegebene url.
onclick="myFunction();return false;"
Damit verhinderst Du, dass href="#" zusätzlich ausgeführt wird. Letzteres lädt das Sitemap-Fenster nämlich noch einmal neu, und zwar beim Default-Anker am Seitenanfang. Möglicherweise ist die opener-Variable des Sitemap-Fensters anschließend sogar auf sich selbst gerichtet.
var fst = window.open("sitemap.htm","fernsteuerung",'resizable,width=300,
height=490,top=50,left=50');<a href="javascript:fernsteuern
('index.htm');">Test</a>
Hast Du mal in der Javascript-Konsole nach Fehlermeldungen geschaut? Ich habe den Verdacht, dass die Zeilenumbrüche auch im Quelltext so stehen. Dann kann natürlich nichts funktionieren.
opener.parent.location.href=URL1;
Das bedeutet, dass das Sitemap-Fenster aus einem Frame heraus geöffnet wurde, der ein parent-Fenster besitzt, das Du durch die neue Seite ersetzen willst. Ist das so?
Salokin
Hallo,
also ich habe jetzt folgendes gemacht:
in der hauptseite über welche die sitemap aufgerufen wird ist folgendes javascript:
function sitemap()
{
var fst = window.open ("../sites/sitemap.htm","fernsteuern","width=350,scrollbars=yes,height=570,left=630,top=110");
}
sitemap wird über link javascript:sitemap( )geöffnet.
das funktioniert einwandfrei.
in der sitemap selbst ist folgendes javascript:
function myFunction()
{
opener.location.href='http://www.meineurl.de';
self.close();
}
und die buttons verlinkt mit:
<a href="index.htm" onclick="myFunction(); return false;" >Home</a>
<a href="studio.htm" onclick="myFunction(); return false;" >Studio</a>
funktioniert soweit einwandfrei. nur das die sitemap durch den befehl self.close(); geschlossen wird.
also habe ich das rausgenommen. jetzt belibt es zwar offen, aber ich steuere immer nur www.meineurl.de an und nicht die inzelnen unterseiten. ???
liebe grüsse
Fisch
Hallo,
function myFunction()
{
opener.location.href='http://www.meineurl.de';
self.close();
}
Natürlich wird www.meineurl.de aufgerufen -> steht ja in Deinem Script.
Probiers mal so:
function myFunction(theurl)
{
opener.location.href=theurl;
self.close();
}
<a href="index.htm" onclick="myFunction('index.htm'); return false;" >Home</a>
<a href="studio.htm" onclick="myFunction('studio.htm'); return false;">Studio</a>
Damit solltest Du die richtige "url" (in diesem Fall ja nur der Dateiname) an Deine Funktion übergeben.
Lg,
sunny
Ohne das
self.close();
natürlich, das wolltest Du ja nicht haben, sorry, hab ich wohl übersehen.
Lg,
sunny
Danke für den Tipp sunny,
aber jetzt öffnet das popup die seiten in sich selbst und steuert nicht mehr die hauptseite an.
ich muss hier erstmal ein paar fenster schliessen. ich verlier langsam den überblick :-)
ich hätte nicht gedacht, das das so komüliziert ist. wahrscheinlich stell ich mich grad ein bisserl deppert an.
lg
fisch
Hi,
aber jetzt öffnet das popup die seiten in sich selbst und steuert nicht mehr die hauptseite an.
Hm, das sollte eigentlich nicht so sein.
Gibts das Ganze vielleicht auch irgendwo online zu sehen?
Du könntest auch noch versuchen die Leerzeichen rauszunehmen:
<a href="index.htm" onclick="myFunction('index.htm');return false;">Home</a>
Lg,
sunny
Hab mir das jetzt nochmal angeschaut - das PopUp könntest Du auch etwas "besser" öffnen:
function sitemap() {
window.open("../sites/sitemap.htm","fernsteuern","width=350,scrollbars=yes,height=570,left=630,top=110");
}
Du brauchst da eigentlich keine zusätzliche Variable soweit ich sehen kann.
<a href="../sites/sitemap.htm" target="_blank" onClick="sitemap();return false;">Sitemap</a>
So funktioniert der Link auch wenn jemand JS ausgeschalten hat.
Dann wird Deine Sitemap einfach in einem neuen (normalen Browser-) Fenster geöffnet. Das mit dem Laden der neuen Seite in den openers funktioniert zwar natürlich nicht wenn JS ja ausgeschalten ist, aber man bekommt Deine Sitemap immerhin zu sehen.
Das wird jetzt zwar Dein Problem nicht lösen, aber ändern solltest Du es trotzdem ;-)
Lg,
sunny
Hallo salokin,
self.close();
hat das sitemap fenster geschlossen. hab ich einfach weggemacht.
onclick="myFunction();return false;"
return false funktioniert..danke.
Hast Du mal in der Javascript-Konsole nach Fehlermeldungen geschaut? Ich habe den Verdacht, dass die Zeilenumbrüche auch im Quelltext so stehen. Dann kann natürlich nichts funktionieren.
keine fehlermeldung. da ist alles o.k !
opener.parent.location.href=URL1;
Das bedeutet, dass das Sitemap-Fenster aus einem Frame heraus geöffnet wurde, der ein parent-Fenster besitzt, das Du durch die neue Seite ersetzen willst. Ist das so?
nein. aus einem frame wird die sitemap nicht geöffnet. ich habe keine frames benutzt. sitemap wird nur über einen link auf der seite geöffnet
Grüsse
Fisch