Dan: Location Object einer selbst erschaffenen Refernz

Hallo,

ich möchte an das location Object einer selbst erschaffenen href referenz.
Beispiel:

myRef=window.open("something");
SomeElement.innerHTML = myRef.location;

Mir wird der Zugriff auf das location Object verwehrt, was auch durchaus richtig ist. Aber ich benötige diese Adresse, kennt hier jemand eine Möglichkeit darauf zuzugreifen?

Gruß,
Dan

  1. Mir wird der Zugriff auf das location Object verwehrt, was auch durchaus richtig ist. Aber ich benötige diese Adresse, kennt hier jemand eine Möglichkeit darauf zuzugreifen?

    http://de.selfhtml.org/javascript/objekte/location.htm#href

    mfg Beat

    --
    ><o(((°>           ><o(((°>
       <°)))o><                     ><o(((°>o
    Der Valigator leibt diese Fische
    1. Mir wird der Zugriff auf das location Object verwehrt, was auch durchaus richtig ist. Aber ich benötige diese Adresse, kennt hier jemand eine Möglichkeit darauf zuzugreifen?

      http://de.selfhtml.org/javascript/objekte/location.htm#href

      mfg Beat

      Danke.

      Das Problem ist allerdings ein andres.
      Wenn ich auf das location Object, also auf href, pathname etc. dann kommt folgender fehler.

      Error: <file://> wurde die Erlaubnis für das Lesen der Eigenschaft Location.href von http://www.xyz.de verweigert.

      Daher meine Frage kann ich diese »Same Origin Policy« umgehen oder es so schreiben das es akzeptiert wird.

      Gruß,
      Dan

      1. Mahlzeit Dan,

        Daher meine Frage kann ich diese »Same Origin Policy« umgehen

        Nein.

        MfG,
        EKKi

        --
        sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
        1. Servus EKKi,

          gibt es denn einen "richtigen" Weg an die url eine selbst erschaffenen Browser Refernz zu kommen?
          Also das ich sie auslesen darf?

          Grüßle,
          Dan

          1. Hi,

            gibt es denn einen "richtigen" Weg an die url eine selbst erschaffenen Browser Refernz zu kommen?
            Also das ich sie auslesen darf?

            Drücke dich bitte präzise aus.

            „selbst erschaffenen Browser Refernz” ist Kauderwelsch, zu dem es keine fachliche Entsprechung gibt.

            MfG ChrisB

            --
            “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
            1. „selbst erschaffenen Browser Refernz” ist Kauderwelsch, zu dem es keine fachliche Entsprechung gibt.

              Ich find die Formulierung Klasse - ich muss aber auch täglich Variabeln segnen.

              my $self = bless $you;

              Struppi.

            2. Hallo Struppi,

              erstmal danke für die Antwort.
              ich denke nicht das es Kauderwelsch ist, wenn man meinen Beipsielcode aus dem ersten Post zuhilfe nimmt.

              Aber hier gerne nochmal.

              Was möchte ich?
              Ich möchte einen neues Browserfenster mit der Javascript Funktion open() öffnen. Da open eine Refernez auf das Fenster zurück gibt möchte ich aus dieser gerne die URL abfragen, aus dem location Objekt.

              Der Code sähe in etwa so aus.
              /* Öffnen des Browsers */
              var myRef = null;
              function openBrowser(url){

              myRef=window.open(url,'mywin', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0');

              }

              /* Abfragen der aktuellen URL in dem neuen Browser*/

              function saveUrl(){

              if(myRef){
              document.getElementById("UrlToAdd").innerHTML = myRef.location.href;
              }
              }

              Leider kriege ich bei dem Versuch auf location oder location.href eine Fehlermeldung.
              Nun suche ich eine Möglichkeit dies zu umgehen.

              Gruß,
              Dan

              1. Hallo,

                Ich möchte einen neues Browserfenster mit der Javascript Funktion open() öffnen. Da open eine Refernez auf das Fenster zurück gibt möchte ich aus dieser gerne die URL abfragen, aus dem location Objekt.

                mir war das eigentlich aus deiner Beschreibung klar ...

                myRef=window.open(url,'mywin', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0');
                [...]
                if(myRef){
                document.getElementById("UrlToAdd").innerHTML = myRef.location.href;
                }

                Halt, halt, nicht so schnell!

                Leider kriege ich bei dem Versuch auf location oder location.href eine Fehlermeldung.

                Ja, du bist eine Ecke zu früh abgebogen. Du musst noch das document-Objekt im neu geöffneten Fensterobjekt adressieren:

                document.getElementById("UrlToAdd").innerHTML = myRef.document.location.href;

                Denn das location-Objekt ist unterhalb von document angesiedelt, die Referenz aus window.open() verweist aber auf das window-Objekt des neuen Fensters (oder ist null, wenn das Öffnen z.B. wegen eines Popup-Blockers fehlschlug).

                Die Same Origin Policy gilt natürlich immer noch, wobei lokale Dateien als eine Domain für sich gelten. Du kannst also im Kontext einer Seite aus dem Web nicht lokale Dateien zusätzlich öffnen. Doch, öffnen schon, aber dann nicht mehr darauf zugreifen.

                So long,
                 Martin

                --
                Niemand lebt allein von seinen Träumen.
                Aber wer träumt, lebt noch.
                1. Ich bin zu doof!!! :O(

                  myRef.document.location.href;

                  wirft immer noch einen Fehler das ich nicht drauf zugreifen darf.

                  1. wirft immer noch einen Fehler das ich nicht drauf zugreifen darf.

                    das wird es auch ncoh in alle Ewigkeiten, du kommst da nicht dran.

                    Struppi.

                    1. Hallo,

                      wirft immer noch einen Fehler das ich nicht drauf zugreifen darf.
                      das wird es auch ncoh in alle Ewigkeiten, du kommst da nicht dran.

                      kann ich nicht nachvollziehen. Das quick&dirty nachgestellte Beispiel "funktioniert" in meinem FF3 (selbstverständlich erst, nachdem ich Popups für localhost zulasse). Ich bekomme die korrekte URL des Popups im alert-Fenster angezeigt, und die Fehlerkonsole hat auch nichts zu melden.

                      var win;  
                        
                      function Popup()  
                       { win = window.open("dummy.txt", "pop");  
                       }  
                        
                      function Query()  
                       { alert(win.document.location.href);  
                       }
                      
                      <button type="button" onclick="Popup();">Popup!</button>  
                      <button type="button" onclick="Query();">Query!</button>
                      

                      So long,
                       Martin

                      --
                      Datenbanken speichern keine User.
                      Das liegt daran, daß Datenbanken mit der Lebensmittelversorgung für gespeicherte biologische Lebensformen derzeit noch Probleme haben.
                        (Christoph Schnauß)
                      1. wirft immer noch einen Fehler das ich nicht drauf zugreifen darf.
                        das wird es auch ncoh in alle Ewigkeiten, du kommst da nicht dran.

                        kann ich nicht nachvollziehen.

                        Wir reden von der SOP, s. https://forum.selfhtml.org/?t=194438&m=1300222

                        { alert(win.document.location.href);

                        http://de.selfhtml.org/javascript/objekte/location.htm#allgemeines
                        Viele Browser halten aber eine Kopie unter document bereit und in der Mozilla Doku steht folgendes:

                        document.location was originally a read-only property, although Gecko browsers allow you to assign to it as well. For cross-browser safety, use window.location instead.

                        Struppi.

                        1. Hallo,

                          kann ich nicht nachvollziehen.
                          Wir reden von der SOP, s. https://forum.selfhtml.org/?t=194438&m=1300222

                          ah, sorry, ich habe den Thread nicht komplett von Anfang gelesen. Mit dem Ausdruck "selbst erschaffene Browser-Referenz" hatte ich in Gedanken automatisch ein Dokument vom eigenen Server assoziiert.

                          Bei Dokumenten von Fremddomains geht natürlich an der SOP kein Weg vorbei; ich hatte den Hinweis darauf in meinem ersten Beitrag auch nur der Ordnung halber nochmal aufgegriffen, ohne zu ahnen, dass das hier überhaupt eine Rolle spielt.

                          { alert(win.document.location.href);
                          http://de.selfhtml.org/javascript/objekte/location.htm#allgemeines
                          Viele Browser halten aber eine Kopie unter document bereit und in der Mozilla Doku steht folgendes:
                          document.location was originally a read-only property, although Gecko browsers allow you to assign to it as well. For cross-browser safety, use window.location instead.

                          Danke. Nun weiß ich Bescheid.

                          Ciao,
                           Martin

                          --
                          Wer barfuß geht, dem kann man nicht die Schuld in die Schuhe schieben.
                2. Ja, du bist eine Ecke zu früh abgebogen. Du musst noch das document-Objekt im neu geöffneten Fensterobjekt adressieren:

                  document.getElementById("UrlToAdd").innerHTML = myRef.document.location.href;

                  Das ist falsch, das location Objekt ist ein Unterobjekt von window.

                  Struppi.

                  1. Hallo,

                    Ja, du bist eine Ecke zu früh abgebogen. Du musst noch das document-Objekt im neu geöffneten Fensterobjekt adressieren:
                    Das ist falsch, das location Objekt ist ein Unterobjekt von window.

                    hmm, die Doku gibt dir Recht. Ich hätte schwören können ...
                    Allerdings findet mein Firefox document.location.href ganz wunderbar in Ordnung. Der Zugriff ergibt das, was ich erwarte; die Fehlerkonsole bleibt still.
                    Fehlertoleranz? Ein freundliches Entgegenkommen?

                    Ciao,
                     Martin

                    --
                    PCMCIA: People Can't Memorize Computer Industry Acronyms
                    1. Hallo

                      Allerdings findet mein Firefox document.location.href ganz wunderbar in Ordnung.

                      Netscape JavaScript 1.2 hatte irgendwann mal document.location aus unverständlichen Gründen als Shortcut auf document.URL eingeführt, dann aber als deprecated erklärt. HTML5 standardisiert es wieder.
                      Beides ist also möglich, window.location und document.location.

                      Grüße
                      Jens

              2. Hi,

                Leider kriege ich bei dem Versuch auf location oder location.href eine Fehlermeldung.

                Aus gutem Grund.

                Nun suche ich eine Möglichkeit dies zu umgehen.

                Die Policy wäre sinnlos, wenn sie sich einfach (oder kompliziert) umgehen liesse.

                MfG ChrisB

                --
                “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]