Domanda

Questo è un tipo di problema strano, ma devo creare una casella di ricerca per il nostro sito che sarà iframe su un altro sito. Quando l'utente fa clic sul pulsante di ricerca, deve reindirizzare il frame principale alla nostra pagina dei risultati di ricerca.

Al momento quello che ho fatto è rendere il pulsante di ricerca un trigger postback, quindi registrare un blocco di script client per eseguire questo:

if (window.parent) window.parent.location.href='<url>';

Questo è ok , ma sembra un hack & amp; significa che se l'utente fa clic nuovamente sul browser dopo la ricerca, li reindirizza alla pagina dei risultati di ricerca.

Esiste un modo migliore per farlo?

È stato utile?

Soluzione

OK, dato che nessun altro ha risposto, ci proverò.

Prima di tutto, stai testando il codice che stai utilizzando in modo reale? Sono preoccupato che in un'applicazione del mondo reale la tua pagina iframed e la pagina padre non risiedano nello stesso dominio. In tal caso, è improbabile che il tuo codice possa indirizzare la finestra principale verso alcun URL.

Se ti è permesso controllare la posizione del frame principale, il tuo codice mi sembra perfetto. Se non desideri il nuovo URL nella cronologia, credo che puoi utilizzare:

if (window.parent) { window.parent.location.replace("<url>"); }

Vedi ad esempio: " La differenza tra i metodi di reindirizzamento Javascript "

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