Christian Düsing: FireFox interpretiert Anker falsch

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

  1. hi,

    Als Ankername habe ich zahlen vergeben:
    <a name="2">

    die sind als ankernamen aber nicht zulässig.

    gruß,
    wahsaga

    --
    "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
    1. 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?

    2. Hi,

      <a name="2">
      die sind als ankernamen aber nicht zulässig.

      Wie kommst Du auf diese falsche Annahme?

      cu,
      Andreas

      --
      Warum nennt sich Andreas hier MudGuard?
      Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
      1. 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

        --
        "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
        1. 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.

  2. 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

    --
    Warum nennt sich Andreas hier MudGuard?
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    1. » 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.

      1. 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

        1. 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

          1. Hallo,

            evtl. wäre es eine Lösung, zu scrollen:

            window.scrollTo(0,get_top(document.getElementById("anker")));
            ...
            <h2 id="anker">

            Gruß, Jürgen

          2. 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

            1. » 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?

              1. 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

                1. 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

                  1. 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

                    1. 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