FireFox interpretiert Anker falsch
Christian Düsing
- browser
Hallo,
FireFox macht bei mir Probleme:
Von einer Seite lade ihc ein Popup per Javascript, welches aber komplett in dem ersten Dokument erstellt wird. Also mit .document.write() Innerhalb des Popup-Codes verwende ihc Anker um im Popup hin-und-her zu springen.
Im IE werden diese Anker auch korrekt ausgeführt, FireFox läd allerdings die Ausgangsseite wenn ich auf einen Link zum Anker klicke.
Als Ankername habe ich zahlen vergeben:
<a name="2">
und spreche diese auch so an:
<a href="#2">
Wenn ich mir allerdings angucke, was FF laden will steht da: ausgangsseite.htm#2. Wie kann ich klar machen, dass hier ein Anker in dem Popup gemeint ist und nicht in der Ausgangsseite?
Danke für eure Hilfe!
Gruß
Christian
hi,
Als Ankername habe ich zahlen vergeben:
<a name="2">
die sind als ankernamen aber nicht zulässig.
gruß,
wahsaga
Als Ankername habe ich zahlen vergeben:
<a name="2">die sind als ankernamen aber nicht zulässig.
Das Problem ist aber, dass ich mehre Blöcke im Popup habe. diese Blöcke werden über eine Schleife erstellt, abhängig von der anzahl der Blöcke. Jeder Block bekommt einen Namen und muss dann auch mit einem anker ansprechbar sein.
Hat dieses Popup nicht ivelleicht eine Adresse, oder namen mit dem ich es ansprechen kann?
Hi,
<a name="2">
die sind als ankernamen aber nicht zulässig.
Wie kommst Du auf diese falsche Annahme?
cu,
Andreas
hi,
<a name="2">
die sind als ankernamen aber nicht zulässig.Wie kommst Du auf diese falsche Annahme?
ich finde die specs diesbezüglich verwirrend, muss ich zugeben.
http://www.w3.org/TR/html4/struct/links.html#adef-name-A besagt,
Note that this attribute shares the same name space as the id attribute.
dieser link wiederum führt zu http://www.w3.org/TR/html4/types.html#type-name, und das besagt:
ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").
ja, ich erinnere mich, dass wir das thema schon öfters hatten, dass es sich an dieser stelle im kein name token handelt - aber dann finde ich die verlinkung in der spec doch als kontraproduktiv.
gruß,
wahsaga
Ich habe mal anstatt der Zahl einfach "bild+i+" genommen. Also vor jeden Ankerverweis und namen ein Wort gesetzt. Leider geht es immer noch nciht. Er versucht jetzt den anker ausgangsseite.htm#bild2 zu laden.
Hi,
Von einer Seite lade ihc ein Popup per Javascript, welches aber komplett in dem ersten Dokument erstellt wird. Also mit .document.write() Innerhalb des Popup-Codes verwende ihc Anker um im Popup hin-und-her zu springen.
Im document.write dürfte das Problem liegen.
Bzw. darin, daß dadurch das Dokument im Popup nicht die gewünschte Basis-URL für relative URLs hat (sondern die des ursprünglichen Dokuments).
cu,
Andreas
» Bzw. darin, daß dadurch das Dokument im Popup nicht die gewünschte Basis-URL für relative URLs hat (sondern die des ursprünglichen Dokuments).
Und wie kann ich den URL festlegen? bzw. dem Popup sagen, dass es Dokument intern den Anker laden soll.
Hi,
Und wie kann ich den URL festlegen? bzw. dem Popup sagen, dass es Dokument intern den Anker laden soll.
Eine vorhandene HTML-Seite aufrufen und diese dann beschreiben?
freundliche Grüße
Ingo
Eine vorhandene HTML-Seite aufrufen und diese dann beschreiben?
dann habe ich aber wieder da Problem, dass es aufwendig ist Variablen zu übergeben. außerdem habe ich ja in dem ausgangsdokument eine for-schleife drin die soviele Tabellenblöcke anhängt wie ich Bilder habe. Das variiert ja von Ausruf zu Aufruf des Javascripts
Hallo,
evtl. wäre es eine Lösung, zu scrollen:
window.scrollTo(0,get_top(document.getElementById("anker")));
...
<h2 id="anker">
Gruß, Jürgen
Hi,
Eine vorhandene HTML-Seite aufrufen und diese dann beschreiben?
dann habe ich aber wieder da Problem, dass es aufwendig ist Variablen zu übergeben.
wozu willst Du hier Variablen übergeben? Du kannst das Dokument doch vom Opener aus beschreiben.
freundliche Grüße
Ingo
» wozu willst Du hier Variablen übergeben? Du kannst das Dokument doch vom Opener aus beschreiben.
ich habe eine Anzahl von Bildergruppen und da die Popups aber immer die selbe Strucktur haben sollen, will ich dann nicht für jede Bilderruppe ein eigenes File machen. Bisher ging es so, dass ich per Variable einfach den Filenamen ersetzt habe. Der Quelltext steht ja im selben Dokument wie das Popup (per write()) also konnte ihc dort Variablen einsetzen.
iwe kann ich denn z.B. hier:
<IMG HREF="bild1.jpg"> per opener auf das ursprungsdokument zugreifen?
Hi,
wozu willst Du hier Variablen übergeben? Du kannst das Dokument doch vom Opener aus beschreiben.
ich habe eine Anzahl von Bildergruppen und da die Popups aber immer die selbe Strucktur haben sollen, will ich dann nicht für jede Bilderruppe ein eigenes File machen.
mußt Du doch auch nicht. Du kannst doch eine leere Datei öffnen und diese dann beschreiben.
<IMG HREF="bild1.jpg"> per opener auf das ursprungsdokument zugreifen?
Was hat ds href-Attribut in img zu suchen?
Aber wenn's nur um den Austausch von Attributen geht, wäre eine vorgefertigte Seite doch noch einfacher. Über den Fensternamen kannst Du die Elemente mit verschiedenen Methoden ansprechen, z.B. document.getElementByID oder document.getElementsByTagName.
freundliche Grüße
Ingo
hallo,
mußt Du doch auch nicht. Du kannst doch eine leere Datei öffnen und diese dann beschreiben.
ok, ich werde mal versuchen, es über eine leere Datei zu machen. Was ist für dich eine leere Datei? nur mit <html><body></body></html>?
wie kann ich denn dann von Urspurngsdokument genau was an eine stelle schreiben?
Das HREF ist falsch...das ist mir vor lauter IMG'S und A's da reingerutscht...soll natürlich SRC heißén *g*
Viele Grüße
Christian
Hi,
ok, ich werde mal versuchen, es über eine leere Datei zu machen. Was ist für dich eine leere Datei? nur mit <html><body></body></html>?
nö, die ist ganz einfach leer. Wenn Du sie nach dem Laden beschreibst, würden die Inhalte ja ohnehin ersetzt werden.
freundliche Grüße
Ingo
Du meinst also:
window.open ("popup.htm","Bildpopup","scrollbars=no");
und dann
document.write ('<html><body></body></html>');
Kann ich dann innerhalb des Popups einen Anker mit der Adresse
popup.htm#2 aufrufen?
Danke für den Tipp
Chrsitian