Domanda

Voglio essere in grado di modificare l'indirizzo di una pagina ma non emettere alcuna richiesta HTTP al momento della modifica. Come si può fare usando JavaScript?

È stato utile?

Soluzione

Vuoi dire, sto visitando http://www.fakebank.example e vuoi che la barra degli indirizzi venga visualizzata http://www.yourbank.example? Penso che ci siano ovvie ragioni per questo che non sarà possibile.

Altri suggerimenti

Puoi impostare la posizione.

Supponendo che tu intenda l'indirizzo indicato nella barra degli indirizzi del browser, non credo che possa. Impostazione Document.Location o Window.Location attiverà automaticamente una pagina ricarica, per quanto ne so.

Come ha detto Olliej, è possibile modificare il parametro hash (AKA Framment Identifier), che non attiva una ricarica di pagina.

Non vuoi aggiungere una voce di cronologia? Basta usare location.replace(..).

Per rispondere direttamente alla tua domanda: è impossibile. Stai chiedendo come puoi andare a una pagina diversa senza andare a una pagina diversa, il che è una sciocchezza.

Sebbene se una pagina è già nella cache del browser (ed è stata impostata una data lontana), tecnicamente l'utente potrebbe essere in grado di andare a quella pagina senza richiederla di nuovo dal server. Ma non puoi garantire nulla.

Penso che quello che potresti cercare sia qualcosa come usare frame. SU example.com/index.html È possibile impostare un frame full size e includere una pagina diversa come ad esempio example.com/page2.html. Quindi qualsiasi collegamento all'interno del frame non modificherà l'URL elencato nel browser. Vedere Questo tutorial per informazioni.

Quello che stai chiedendo è chiamato Spoofing URL.

Qualsiasi browser lo consente ha un grave problema di sicurezza.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top