Forum » Izdelava spletišč » [JavaScript] postMessage in IE problem
[JavaScript] postMessage in IE problem
t3hn0 ::
Torej, delam nek cross site talk med dvema stranema, naceloma vse spila v testni fazi (basic pogovor med stranema).
Problem se pojavi ko na poklicani strani v bindani metodi poklicem ajax (seveda se ta problem se pojavi le v IE). Za predstavo, koda iz strani ki jo poklicem in iz katere pricakujem odgovor:
Ja, zadeva je pripeljala do tega da sem zaradi tega vkljucil tudi jQuery in poiskusil z njegovim ajax klicem a zadeva je ista. Zgodi se sledece, da v vrstici 11 in 12 parameter "ev" nosi vse vrednosti ki jih mora, po izvedbi ajax klica, pa "ev" ne obstaja vec (s tem da $.post() vrne pricakovan rezultat). Torej do ",function(reply) {" obstaja, potem pa ne vec.
Prvotno sem imel napisan brez jQueryja, zadeva je ista.
Seveda ni potrebno omeniti da v Crome, FF, Operi dela pricakovano
Problem se pojavi ko na poklicani strani v bindani metodi poklicem ajax (seveda se ta problem se pojavi le v IE). Za predstavo, koda iz strani ki jo poklicem in iz katere pricakujem odgovor:
function bindEvent(eventName, eventHandler) { if(window.addEventListener) window.addEventListener(eventName, eventHandler, false); else if(window.attachEvent) { window.attachEvent('on'+eventName, eventHandler); } else if(document.attachEvent) { document.attachEvent('on'+eventName, eventHandler); } } function askMe(ev) { $.post('process_request.php', {'r':ev.origin,'p':ev.data}, function(reply) { ev.source.postMessage(reply, ev.origin); }); } bindEvent('message', askMe);
Ja, zadeva je pripeljala do tega da sem zaradi tega vkljucil tudi jQuery in poiskusil z njegovim ajax klicem a zadeva je ista. Zgodi se sledece, da v vrstici 11 in 12 parameter "ev" nosi vse vrednosti ki jih mora, po izvedbi ajax klica, pa "ev" ne obstaja vec (s tem da $.post() vrne pricakovan rezultat). Torej do ",function(reply) {" obstaja, potem pa ne vec.
Prvotno sem imel napisan brez jQueryja, zadeva je ista.
Seveda ni potrebno omeniti da v Crome, FF, Operi dela pricakovano
^.^
carota ::
Na jQuery post imaš callbacks .done(), .fail(), .always(), morda dobiš od njih še kakšen namig.
var jqxhr = $.post("example.php", function() { alert("success"); }) .done(function() { alert("second success"); }) .fail(function() { alert("error"); }) .always(function() { alert("finished"); });
t3hn0 ::
Problem je ker to se vse izvede. Od zahtevane skripte dobi odgovor, a potem izbrise spremenljivke v funkciji iz katere sem poklical ajax (medtem ko replyData nosi odgovor).
Da je zadeva se bolj fletna sem probal se na drug nacin:
1. torej zgornji predlog, sem realiziral v svoji funkciji ki pac dobi potrebne parametre, te preda klicu $.post. Klic se izvede, dobim rezultat, ampak ko ga vrnem v funkcijo iz katere sem jo klical, je rezultat "null". Parametri v prvi funkciji ostanejo nedotaknjeni a sedaj ni rezultata
2. ce poiskusim implementirati to resitev v eno samo funkcijo je problem dokaj isti kot sem ga opisal na zacetku.
Da je zadeva se bolj fletna sem probal se na drug nacin:
1. torej zgornji predlog, sem realiziral v svoji funkciji ki pac dobi potrebne parametre, te preda klicu $.post. Klic se izvede, dobim rezultat, ampak ko ga vrnem v funkcijo iz katere sem jo klical, je rezultat "null". Parametri v prvi funkciji ostanejo nedotaknjeni a sedaj ni rezultata
2. ce poiskusim implementirati to resitev v eno samo funkcijo je problem dokaj isti kot sem ga opisal na zacetku.
^.^
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Slo-Tech userscriptsOddelek: Izdelava spletišč | 5174 (2626) | jype |
» | C# - runtime generiranje in klicanje kontrolOddelek: Programiranje | 1195 (951) | stalker |
» | C#, TextBox in PopUp formaOddelek: Programiranje | 1103 (997) | MarCar |
» | Prosim za predloge in pripombeOddelek: Izdelava spletišč | 2122 (1265) | msjr |
» | [Visual C#] posodabljanje poljaOddelek: Programiranje | 1646 (1466) | iggy1 |