Firefox 3 atbalstīs starplogu komunikācijas API
andrisp, 10.02.2008., 13:15Iespēja apmainīties ar informāciju starp pārlūka logiem, izmantojot javascript.
John Resig (JQuery autors) savā blogā raksta, ka Firefox 3 atbalstīs postMessage API. Tas nozīmē, ka jebkurš pārlūkprogrammas logs varēs nosūtīt ziņojumu (teksta veidā) citam logam (arī logam, ko pats nav atvēris un kas atrodas citā domēnā).
Vienkārši runājot - katram logam būs speciāla metode
window.postMessage(text)
, kurai jāpadod ir tikai teksts. Izsaucot šo metodi, uz attiecīgā loga tiks izpildīts speciāls message
notikums (event). Tam, protams, logā jābut definētam. Notikuma objektam (sekojošajā koda piemērā mainīgais e
) būs pieejams data
mainīgais.Piemērs:
function proccess_message(e) {
alert(e.data)
}
document.addEventListener("message", proccess_message, false);
Tad no cita loga:
reference_uz_pirmo_logu.postMessage('Sveiks, log! :)');
Cross-domain pārbaudes netiks veiktas, bet tās būs iespējams izveidot pašam, jo notikuma objekts saturēs arī tādus mainīgos kā
domain
, url
un source
. Pirmie divi attiecīgi būs domēns un pilna adrese izsaucējlogam. source
būs DOM reference uz izsaucējlogu. Tātad mērķa logs varēs redzēt, kurš logs tam sūta kaut ko, un varēs arī tādā pašā veidā atbildēt.Vairāk par postMessage API.
(Informācija pārpublicēta no apblog.lv ar autora atļauju.)
Par web.hc.lv
web.hc.lv ir vortāls, kurā tiek aplūkoti mājaslapu veidošanas un mārketinga aspekti, no idejas līdz gandarījumam.
Reklāma