Il campo dell'indirizzo nel browser si trova solitamente nella parte superiore della finestra e visualizza l'URL del documento scaricato. Se l'utente desidera navigare manualmente verso una pagina (digitarne l'URL), lo fa nel campo dell'indirizzo.
Riso. 4.2.
La proprietà location dell'oggetto window è essa stessa un oggetto della classe Location. La classe Location, a sua volta, è una sottoclasse della classe URL, che include anche oggetti delle classi Area e Link. Gli oggetti posizione ereditano tutte le proprietà degli oggetti URL, consentendo di accedere a qualsiasi parte dello schema URL. Tratteremo la classe dell'oggetto URL in modo più dettagliato in "Programmazione della navigazione ipertestuale" .
Per compatibilità con versione precedente JavaScript, il linguaggio supporta anche la proprietà window.document. location , che attualmente duplica completamente la finestra. location con tutte le sue proprietà e metodi. Consideriamo ora le proprietà ei metodi dell'oggetto finestra. location (non ci sono eventi associati a questo oggetto).
proprietà dell'oggetto posizioneSono più facili da dimostrare con un esempio. Supponiamo che il browser visualizzi una pagina situata in:
Quindi le proprietà dell'oggetto posizione assumeranno i seguenti valori:
window.location.href = "http://www.site.ru:80/dir/page.cgi?product=phone&id=3#mark" window.location.protocol = "http:" window.location.hostname = " www.site.ru" window.location.port = 80 window.location.host = "www.site.ru:80" window.location.pathname = "dir/page.cgi" window.location.search = "?prodotto =phone&id=3" window.location.hash = "#mark"
Come accennato nelle lezioni precedenti, è possibile accedere alle proprietà degli oggetti sia utilizzando la notazione con punto (come sopra), sia utilizzando la notazione tra parentesi, ad esempio: window. posizione [" host "] .
Metodi dell'oggetto locationI metodi dell'oggetto location hanno lo scopo di controllare il caricamento e il ricaricamento della pagina. Questo controllo sta nel fatto che puoi ricaricare il documento corrente (method reload () ), o caricarne uno nuovo (method replace () ).
window.location.reload(true);
Il metodo reload() modella completamente il comportamento del browser quando si fa clic sul pulsante Ricarica nella barra degli strumenti. Se chiami il metodo senza un argomento o lo imposti su true , il browser controllerà l'ora dell'ultima modifica del documento e lo caricherà dalla cache (se il documento non è stato modificato) o dal server. Questo comportamento corrisponde alla semplice pressione del pulsante Ricarica del browser (il tasto F5 in Internet Explorer). Se specifichi false come argomento, il browser ricaricherà il documento corrente dal server, qualunque cosa accada. Questo comportamento corrisponde alla pressione contemporanea del tasto Maiusc e del pulsante Ricarica del browser (o Ctrl+F5 in Internet Explorer ).
Utilizzando l'oggetto posizione, vai a nuova pagina si può fare in due modi:
window.location.href="http://www.newsite.ru/"; window.location.replace("http://www.newsite.ru/");
La differenza tra loro è la visualizzazione di questa azione nella finestra della cronologia della pagina. storia. Nel primo caso, verrà aggiunta una nuova voce alla cronologia di navigazione contenente l'indirizzo "http://www.newsite.ru/", in modo che, se lo desideri, puoi fare clic sul pulsante Indietro nella barra del browser per tornare alla pagina precedente. Nel secondo caso, il nuovo indirizzo "http://www.newsite.ru/" sostituirà il precedente nella cronologia delle visite, e non sarà più possibile tornare alla pagina precedente premendo il pulsante Indietro.
Cronologia delle visite (cronologia)Cronologia di navigazione delle pagine del mondo ampia rete Consente all'utente di tornare a una pagina visualizzata in precedenza nella finestra del browser corrente. La cronologia di navigazione in JavaScript viene trasformata in un oggetto finestra. storia. Questo oggetto punta a un array di URL che l'utente ha visitato e a cui può accedere selezionando Go mode dal menu del browser. I metodi dell'oggetto cronologia consentono di caricare le pagine utilizzando l'URL in questo array.
Per evitare problemi di sicurezza del browser, puoi navigare nella Cronologia solo utilizzando il file index. Allo stesso tempo, l'URL, come stringa di testo, non è disponibile per il programmatore. Molto spesso questo oggetto viene utilizzato in esempi o pagine che possono essere collegate da più pagine diverse, supponendo che tu possa tornare alla pagina da cui verrà caricato l'esempio:
Questo codice visualizza un pulsante "Indietro", cliccando sul quale si tornerà alla pagina precedente. Il metodo della storia funziona in modo simile. forward() , portandoci alla successiva pagina visitata.
C'è anche un metodo go() che accetta un argomento intero e ti permette di saltare qualche passo avanti o indietro nella cronologia di navigazione. Ad esempio, history .go(-3) ci riporterà 3 passi indietro nella cronologia di navigazione. In questo caso, i metodi back() e forward() sono equivalenti al metodo go() con argomenti -1 e 1 , rispettivamente. La cronologia delle chiamate .go(0) ricaricherà la pagina corrente.
Tipo di browser (navigatore)Spesso è necessario impostare una pagina per uno specifico programma di visualizzazione (browser). In questo caso sono possibili due opzioni: determinare il tipo di browser lato server o lato client. Per quest'ultima opzione, c'è un oggetto finestra nell'arsenale di oggetti di JavaScript. navigatore. Le proprietà più importanti di questo oggetto sono elencate di seguito.
Considera un semplice esempio per determinare il tipo di visualizzatore.
Fonte: http://learn.javascript.ru/browser-objects
navigatore: piattaforma e browserL'oggetto navigator contiene informazioni generali sul browser e sul sistema operativo. Due proprietà sono particolarmente degne di nota:
L'oggetto schermo contiene informazioni generali sullo schermo, inclusa la risoluzione, il colore e così via. Può essere utile per determinare su quale codice è in esecuzione dispositivo mobile con bassa risoluzione.
L'attuale risoluzione orizzontale/verticale dello schermo del visitatore è in screen.width / screen.height .
Questa proprietà può essere utilizzata per raccogliere informazioni statistiche sui visitatori.
Il codice JavaScript dei contatori legge queste informazioni e le invia al server. Ecco perché puoi visualizzare nelle statistiche quanti visitatori sono arrivati con quale schermata.
posizioneL'oggetto location fornisce informazioni sull'URL corrente e consente a JavaScript di reindirizzare il visitatore a un URL diverso. Il valore di questa proprietà è un oggetto di tipo Location .
Metodi di localizzazione e proprietàIl metodo più importante è, ovviamente, toString . Restituisce l'URL completo.
Il codice che deve eseguire un'operazione di stringa in posizione deve prima eseguire il cast dell'oggetto su una stringa. Ecco come sarà l'errore:
// ci sarà un errore, perché location non è una stringa alert(window .location.indexOf("://" ));E questo è corretto:
// porta alla riga prima di indexOf alert((window .location + "" ).indexOf("://" ));Tutte le seguenti proprietà sono stringhe. La colonna "Esempio" contiene i loro valori per l'URL del test:
Metodi oggetto posizioneSe modifichi qualsiasi proprietà di window.location diversa da hash , il documento verrà ricaricato come se il metodo window.location.assign() fosse stato chiamato sull'URL modificato.
Puoi anche reindirizzare assegnando esplicitamente location , ad esempio:
// il browser caricherà la pagina http://javascript.ru window .location = "http://javascript.ru" ; corniciUna raccolta contenente frame e iframe. Puoi rivolgerti a loro sia per numero che per nome.
frames contiene oggetti finestra di frame secondari. Il codice seguente traduce il frame in un nuovo URL:
window.frames.example.location = "http://example.com" ; storiaL'oggetto cronologia consente di modificare l'URL senza ricaricare la pagina (all'interno dello stesso dominio) utilizzando l'API della cronologia, oltre a reindirizzare il visitatore avanti e indietro nella cronologia.
L'oggetto cronologia non fornisce un modo per leggere la cronologia di navigazione. È possibile rimandare indietro il visitatore chiamando history.back() o inoltrare chiamando history.forward() , ma il browser non fornisce l'indirizzo stesso per motivi di sicurezza.
TotaleOggetti browser:
Questo oggetto è puramente informativo. Fornisce informazioni sul browser.
Come esempio di utilizzo del navigatore, mostriamo tutte le proprietà del browser:
< script type= "text/javascript" >documento. scriviln(); for (proprietà var in navigator) ( document. write ("" + property+ ":" ); document. writeln (navigator[ property]); ) oggetto cronologiaResponsabile di 2 pulsanti: 'avanti' e 'indietro'. Il browser, seguendo il collegamento da una pagina all'altra, salva la cronologia di queste transizioni. Quelli. Puoi tornare indietro di una pagina o andare avanti di una pagina. Puoi simulare la pressione di questi pulsanti da JavaScript utilizzando metodi e proprietà.
L'oggetto ha una proprietà - length - length.
L'oggetto ha metodi: go(), back(), forward().
Considera un esempio:
< script type= "text/javascript>function length()( //mostra il numero di transizioni alert(" Numero di transizioni: "+history.length);) function back()( //vai indietro history.back();) function forward()( // vai avanti a 1 transizione history.forward();) Oggetto posizioneResponsabile di barra degli indirizzi. Consente di ottenere e modificare l'indirizzo della pagina. Non appena l'indirizzo cambia, il browser passa automaticamente al nuovo indirizzo. Quelli. puoi simulare un salto a un indirizzo.
Ci sono proprietà:
Ci sono metodi:
Questo è puramente informativo. Indica la dimensione dello schermo dell'utente in pixel. Non ha metodi, solo proprietà:
L'oggetto navigator contiene informazioni sul browser dell'utente ( in particolare - è disponibile utilizzo dei cookie file e se il supporto Java è abilitato).
L'oggetto navigatore permette anche di definire il tipo sistema operativo.
Per comodità di lavorare con l'oggetto navigatore, mostriamo tutte le sue proprietà sullo schermo. Ricordiamo il materiale della lezione precedente.
var qualsiasi ;
/* Passa in rassegna le proprietà dell'oggetto navigator */
for(qualsiasi nel navigatore )
{
documento.write(qualsiasi + "
"
);
}
Informazioni sul browser: proprietà userAgent;
Lingua del browser - lingua delle proprietà;
Il nome del sistema operativo è una proprietà di oscpu ;
Se i cookie sono abilitati - proprietà cookieEnable d;
Se l'utente è connesso a Internet - proprietà onLine.
Le proprietà dell'oggetto navigator sono accessibili tramite un punto.
document .write ("Nome browser: " + navigator .userAgent + "
"
);
document .write ("Lingua del browser: " + navigator .language + "
"
);
document .write ("Nome del sistema operativo: " + navigator .oscpu + "
"
);
document .write ("I cookie sono abilitati: " + navigatore .cookieEnable d + "
"
);
document .write ("Connessione di rete: " + navigatore .onLine + "
"
);
L'oggetto schermo ti aiuterà a ottenere dati sulla risoluzione dello schermo dell'utente, la profondità del colore, ecc.
Facciamo lo stesso con l'oggetto screen: per prima cosa, visualizza tutte le sue proprietà sullo schermo.
var qualsiasi ; /* Variabile arbitraria */
/* Passa in rassegna le proprietà dell'oggetto screen */
per (qualsiasi schermo)
{
documento.write(qualsiasi + "
"
);
}
Ora, utilizzando le proprietà di altezza e larghezza dell'oggetto schermo, otteniamo informazioni sulla risoluzione dello schermo: la sua altezza e larghezza in pixel. E anche sulla profondità di bit palette dei colori- proprietà colorDepth.
document .write ("Altezza dello schermo: " + screen .height + "px
"
);
document .write ("Larghezza dello schermo: " + screen .width + "px
"
);
document .write ("Profondità colore: " + screen .colorDepth + "
"
);
L'oggetto location restituisce l'URL della finestra corrente dell'utente.
Contiene anche dati su parti e componenti dell'indirizzo corrente: nome host, numero di porta, protocollo, ecc.
Proprietà dell'oggetto posizione.
var qualsiasi ; /* Variabile arbitraria */
/* Passa in rassegna le proprietà dell'oggetto posizione */
per (qualsiasi in posizione)
{
documento.write(qualsiasi + "
"
);
}
Usiamo la proprietà href dell'oggetto location per visualizzare l'URL del documento corrente.
document.write ("URL: " + posizione .href );
Facciamo i compiti per questa lezione.
Scopri da quale browser la persona è arrivata alla tua pagina e, a seconda del browser, visualizza sullo schermo:
Se firefox: "Il tuo browser Firefox".
Se opera: "Il tuo browser è Opera".
Se chrome: "Il tuo browser Chrome".
Per risolvere questo compito è necessario:
Utilizzare la proprietà userAgent dell'oggetto navigator per ottenere informazioni sul browser corrente.
Al momento della risoluzione di questo problema, ho ricevuto i seguenti dati su Browser Firefox, Opera e Chrome.
Mozilla/5.0 (Windows NT 6.1; WOW64; versione:56.0) Gecko/20100101 Firefox /56.0
Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, come Gecko) Chrome /61.0.3163.100 Safari/537.36 OPR /48.0.2685.39
Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, come Gecko) Chrome /61.0.3163.100 Safari/537.36
Usa le espressioni regolari per trovare i nomi dei browser dalle loro informazioni.
var browser = navigator.userAgent ; /* Informazioni sul browser corrente */
/* Componi espressioni regolari per cercare corrispondenze nei dati del browser */
varregV_1 = /firefox/ i ; /* i - modello senza distinzione tra maiuscole e minuscole */
varregV_2 = /chrome/ i ;
varregV_3 = /opr/ i ;
/* Imposta le condizioni */
if (browser .match (regV_1 ) != null )
{
document.write("Il tuo browser è Firefox" );
}
/* Qui prendiamo in considerazione che Chrome è presente nella descrizione di Opera */
else if(browser .match (regV_2 ) != null && browser .match (regV_3 ) != "OPR" )
{
document.write("Il tuo browser è Chrome");
}
else if(browser .match (regV_3 ) != null )
{
document.write("Il tuo browser è Opera" );
}
altro
{
document.write("Stai utilizzando un browser NON conosciuto" );