Ankündigung

Einklappen
Keine Ankündigung bisher.

document.URL browserabhängig?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • document.URL browserabhängig?

    Ich habe folgendes Beispiel:
    Code:
    <span onclick="document.URL = 'verweis.htm'">
    klick hier
    </span>
    Ich möchte diese Konstruktion als Verweis nutzen.
    Sie funktioniert aber nur im IE und nicht im Firefox und nicht bei Opera. Ein a Element kann ich nicht nehmen, weil sich das Ganze schon in einem weiteren a Element befindet und es dann Probleme bei Opera gibt.
    Alle Browser können document.URL lesen, aber schreiben mag nur der IE. Welche Alternative habe ich?


  • #2
    Ein a Element kann ich nicht nehmen, weil sich das Ganze schon in einem weiteren a Element befindet
    Bidde? Ein link in einem link in einem link in...Was ist der Sinn davon? Und was spricht dagegen, das Ganze in drei a/href Elemente aufzuteilen?

    Kommentar


    • #3
      naja, das ist nur ein Link in einem anderen. keine drei
      Ich habe eine Navigationsleiste gebastelt, wo was passiert, wenn man draufklickt (per a href). Gleichzeitig wird per onmouseover ein untermenü geöffnet, das nun aus span Elementen besteht, weil a nicht geht.
      Natürlich soll das Untermenü auch irgendwo hinführen, und da span href keinen sinn ergibt, habe ich es mit span onclick versucht.

      Kommentar


      • #4
        Zitat von karstb
        naja, das ist nur ein Link in einem anderen. keine drei
        Das ist auch nicht besser.

        Zitat von karstb
        Gleichzeitig wird per onmouseover ein untermenü geöffnet, das nun aus span Elementen besteht, weil a nicht geht.
        Und warum geht das a-Element nicht?

        Kommentar


        • #5
          Ich habe das Problem mit window.open und _self gelöst. Ich kann in diesem Fall in JS aus dem Vollen schöpfen, weil ohnehin nur User, die JS aktiviert haben, soweit kommen. Für den Rest gibts natürlich eine Weiche.
          auch wenn die Lösung nicht gerade sauber ist..........

          Kommentar


          • #6
            Zitat von karstb
            Ich habe das Problem mit window.open und _self gelöst. Ich kann in diesem Fall in JS aus dem Vollen schöpfen, weil ohnehin nur User, die JS aktiviert haben, soweit kommen. Für den Rest gibts natürlich eine Weiche.
            auch wenn die Lösung nicht gerade sauber ist..........
            Hauptsache schnell schnell irgendeine Halblösung gebastelt, was?
            Warum beantwortest du nicht xabbuhs letzte Frage? Ich bin sicher, er könnte dir zu einer einwand- ( und javascript-)freien Lösung verhelfen. Er stellt die Frage doch nicht ohne Sinn.

            Kommentar


            • #7
              Warum das a-Element nicht geht, weiß ich leider nicht. Liegt wohl daran, dass Opera sich nicht an die Spezifikationen hält und kein a Element in einem anderen a element erlaubt.
              das äußere element muss kein a sein, d.h. es muss nicht anklickbar sein, aber leider konnte ich mit anderen elementen als mit a nicht die gewünschten javascript methoden ausführen, die hier ohne alternative sind. ob es eine lösung mit js oder ohne ist, spielt hier überhaupt keine rolle, da ja sowieso nur user mit js dahinkommen. die anderen scheitern schon vorher (und da gibts nun wirklich keine reine html alternative). natürlich bekommen die dann eine js freie seite präsentiert, die einen anderen funktionsumfang hat.
              ich werde es jetzt so lassen. es funktioniert in allen browsern zuverlässig. es sei denn, es hat jemand eine einfachere alternative. bitte kein flash

              Kommentar


              • #8
                Zitat von karstb
                Warum das a-Element nicht geht, weiß ich leider nicht. Liegt wohl daran, dass Opera sich nicht an die Spezifikationen hält und kein a Element in einem anderen a element erlaubt.
                Welchen Sinn sollte ein a-Element in einem anderen a-Element haben?

                Leider verstehe ich dein Problem immer noch nicht, so dass ich dir auch keine adäquate Lösungsalternative anbieten kann.

                Kommentar


                • #9
                  OK. Ich erkläre mal das Ganze.
                  Es handelt sich um ein Menü, bei dem per mouseover Untermenüs geöffnet werden. Wenn man auf das Obermenü klickt, kommt man außerdem per a href zu einer seite, auf der die untermenüs aufgeführt sind.
                  hier die struktur eines obermenüs:
                  das untermenü (zu jedem obermenüpunkt je eins) ist ein a element. per untermenüwiederweglegen und untermenühervorheben wird dessen z-index geändert. hier ist der punkt, wo es mit div elementen und allen anderen seltsamerweise probleme gab.
                  innerhalb jedes untermenüs gibt es dann natürlich die einzelnen menüpunkte, über die man letztendlich zu den seiten gelangt. also wäre hier ein a element angezeigt. da aber schon der ganze menüblock außen herum ein a ist, gehts nicht. deshalb das konstrukt mit span und window.open().
                  ich denke, das ist eine bekannte problemstellung (menü mit aufklappenden untermenüs), aber ohne js geht da nun wirklich nichts.
                  aber vielleicht geht es dennoch eleganter?!

                  Kommentar


                  • #10
                    css statt js???

                    aber ohne js geht da nun wirklich nichts.
                    Wieso sollte das nicht gehen?
                    Das ganze kann mindestens genau so gut mit css gelöst werden...
                    Du kannst z.B. eine Liste erstellen, die die Obermenüpunkte enthält.
                    Jeder Obermenüpunkt enthält dann wieder eine weitere liste, welche die Untermenüpunkte representiert.
                    Diese Liste für die Untermenüpunkte kannst du dann ganze einfach per:
                    Code:
                    li.obermenu:hover ul.untermenu {
                        // Hier die anzeigeeigenschaften
                    }
                    ein bzw. ausblenden...

                    Hoffe das ist das, was du suchst...

                    Kommentar


                    • #11
                      das hört sich gut an.
                      ich werde es mal ausprobieren, wenn ich mit dem projekt fertig bin.
                      danke!

                      Kommentar

                      Lädt...
                      X