XHTML: < a > taggare verso più destinazioni in più frame di destinazione?
Domanda
Sto lavorando a una tabella di collegamenti all'interno di un sito usando iframe. Mi chiedo se c'è un modo per codificare un collegamento per andare a due destinazioni simultanee all'interno di due diversi frame di destinazione? Ho letto tutto il pomeriggio e non riesco a trovare niente vicino a quello che voglio fare. Fondamentalmente voglio un link per presentare una foto in un iframe e alcuni dati in un altro iframe. Qualche idea?
Soluzione
Risposta breve: No.
Risposta più lunga: con ciò che descrivi, usando rigorosamente X / HTML, questo non è possibile. Tuttavia, è possibile aggiungere javascript per modificare iframe src. Qualcosa del tipo:
function click_link(id) {
document.getElementById('iframe1').src = "page.ext?id=" + id;
document.getElementById('iframe2').src = "other_page.ext?id=" + id;
}
Ma ovviamente, probabilmente non dovresti usare iframe comunque ...
Altri suggerimenti
Il modo semplice è javascript, ma a quel metodo è già stata data una risposta. L'unico modo per farlo (senza fare affidamento su JavaScript) è sul lato server.
Rendi il tuo < un obiettivo > rimandare al set di frame superiore che contiene tutti i frame che si desidera modificare e sul lato server modificare gli attributi src dei frame.
Non usare i frame. Sono dannosi per l'usabilità, male per la SEO e causano problemi come questo.
Questo può sembrare un consiglio inutile, ma a lungo andare eviterai molti mal di testa.
Se unisci i file sul lato server, funzioneranno senza problemi in tutti i browser, motori di ricerca, ecc. Il ricaricamento di una semplice pagina non deve essere più lento del caricamento di 2 iframe.
Oppure, in caso di mostrare foto con descrizioni, un semplice DHTML potrebbe fare il lavoro:
img.onclick = function(){
$('bigphoto').src = this.src.replace(/_small/,'_big');
$('description').innerHTML = this.title;
}