2012-06-20 4 views
1

Я реализовал iframe в моем приложении flex. В iframe содержится карта google и различные функции JavaScript, которые я успешно могу вызвать из своего приложения flex.Передача данных из iframe в flex

как так

ExternalInterface.call("top.frames[0].addMarker", i, latitude, longitude, timestamp, user, state, datestring); 

Но теперь я хочу, чтобы передать данные в другом направлении.

Я нашел следующую статью http://webdevwonders.com/communication-between-flex-and-javascript/

, который показывает использование addcallback

ExternalInterface.addCallback("iAmCalledFromJavascript", iAmCalledFromJavascript); 

мне нужно добавить те же top.frames [0]. или что-то другое? не

Благодаря

Vince

+0

Have вы пробовали? Работает? Если нет, какие ошибки вы получаете? – JeffryHouser

ответ

1

Нет вам не нужно добавлять top.frames [0]. вызывают вызов ActionScript внутри Flex из JavaScript, и в Flex нет такой вещи, как DOM-фреймы.

Просто продолжайте использовать тот же подход, с JavaScript, как и раньше: Но более подробной информации о доступе к родительским IFrame документа можно найти здесь http://www.esqsoft.com/javascript_examples/iframe_talks_to_parent/

// This is the function that gets called from ActionScript 
function iAmCalledFromAS(argument1, argument2) { 

    // Do whatever you like in here 
    return "result"; 
} 

function initCommunication() { 

    // 'FlexJSExample' is the id of the Flash object 
    var flashObj = "FlexJSExample"; 
    parent.$("iframe").each(function(iel, el) { 
     if(el.contentWindow === window) 
     // call the previously in ActionScript defined callback function of the Flash object 
     el[flashObj].iAmCalledFromJavascript("argument1", 2); 
    }); 
    } 
} 
+0

document [flashObj] будет работать из iframe, где flashObj нет? –

+0

О, в этом случае я думаю, вам стоит взглянуть на http://stackoverflow.com/questions/935127/how-to-access-parent-iframe-from-javascript. Вам нужно получить доступ к этому точному документу из iframe тебе нужно. –

+0

, так что смотрите ссылку, возможно, parent.document [flashObj] .iAmCalledFromJavascript («argument1», 2); вместо. –

Смежные вопросы