[JS] Sprawdzanie adresu strony

0

Dlaczego po utworzeniu okna:

okno= window.open(URL, "okno");

mogę ustawić mu nowy adres poleceniem:

okno.location= URL2;

a nie mogę odczytać adresu tego okna. Polecenie

alert(okno.location);

wyświetla błąd (w konsoli FF):

Błąd: uncaught exception: [Exception... "Could not convert JavaScript argument arg 0 [nsIDOMWindowInternal.alert]" nsresult: "0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)" location: "JS frame :: ...

Natomiast użycie alert(okno.history.current); wyświetla błąd:
Błąd: uncaught exception: Nie udzielono uprawnieD do odczytania wBa[ciwo[ci History.current

0

spróbuj rzutować na typ string, najprościej po location dopisać:

+''

0

Trochę to pomogło.
Teraz pojawia się:

Błąd: uncaught exception: Nie udzielono uprawnieD do wywoBania metody Location.toString

Może to kwestia jakichś zabezpieczeń przeglądarki (że nie można odczytywać niektórych informacji z otwartego okna)? Może da się to jakoś konfigurować?

0

Spróbuj: window.location.href

0

Też brak uprawnień. O ile odczytanie tych danych z bieżącej strony nie sprawia problemu to z otwartej jak widać nie jest łatwo.

Chcę pobrać ten adres żeby sprawdzać czy strona nie przekierowywuje mnie gdzieś indziej.

0

okno.window.location.toString() działa jeśli otworzona jest strona którą się otworzyło, później już nie

możesz więc albo zrobić stronę otwieraną w nowym okienku jako ramkę, a potem oprócz ramki żeby tam się znajdował skrypt który by sprawdzał adres ramki, albo robić z try() i jeśli nie wyjdzie to znaczy że w ramce jest strona znajdująca się poza witryną

0

Ja się tylko wtrącę w sprawie tego postu:

Adamo napisał(a)

spróbuj rzutować na typ string, najprościej po location dopisać:
+''
Chyba miałeś na myśli "przed" a nie "po" location. JS próbuje zamienić wszystkie składniki na typ pierwszego - nie ostatniego.
Więc:
'1' + 2 -> '12'
1 + '2' -> 3

0

no ale w tym przypadku jest

typ jakiś dziwny + string = string :P
js sam wpada na pomysł użycia toString

0

Ale według specyfikacji window.location zwraca string, więc nie powinno być konieczności konwersji. Poza tym to i tak nic nie daje.

1 użytkowników online, w tym zalogowanych: 0, gości: 1