하나의 상위 페이지에서 2 개의 easyXDM 소켓을 사용하려고합니다. 두 소켓은 동일한 원격 도메인에 연결되지만 다른 엔드 포인트에 연결됩니다. 부모 페이지에서하나의 페이지에 여러 개의 easyXDM이 있습니다.
나는 두 JS 기능 activate_false_app()
및 activate_dummy_app()
이 - 부모 페이지는 두 개의 false_app_div
및 dummy_app_div
국지적 인은 다음과 div의 표시하는 코드 조각이있다. 그 둘은 분리 완전히 잘 작동입니다 -
window.loadScript = function(src, onload, onerror) {
var head = document.getElementByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = src;
if (script.readyState) {
script.onreadystate = function() {
var state = this.state;
if (state === 'loaded' || state === 'complete') {
script.onreadystate = null;
onload();
}
};
}
};
window.activate_false_app = function() {
var exdm_url = 'http://localhost:8000/js/easyXDM/easyXDM.min.js';
on_load_fn = function() {
window.init_false_app_communication();
};
on_error_fn = function() {
return false;
};
window.loadScript(exdm_url, on_load_fn, on_error_fn);
};
window.init_false_app_communication = function() {
var false_app_socket = new easyXDM.Socket({
remote : 'http://localhost:8000/false_app',
swf : 'http://localhost:8000/js/easyXDM/easyXDM.swf',
container : 'false_ap_div',
onMessage : function(message, origin) {
alert('false_app onMessage');
alert(message);
}
});
};
window.activate_dummy_app = function() {
var exdm_url = 'http://localhost:8000/js/easyXDM/easyXDM.min.js';
on_load_fn = function() {
window.init_dummy_app_communication();
};
on_error_fn = function() {
return false;
};
window.loadScript(exdm_url, on_load_fn, on_error_fn);
};
window.init_dummy_app_communication = function() {
var dummy_app_socket = new easyXDM.Socket({
remote : 'http://localhost:8000/dummy_app',
swf : 'http://localhost:8000/js/easyXDM/easyXDM.swf',
container : 'dummy_app_div',
onMessage : function(message, origin) {
alert('dummy_app onMessage');
alert(message);
};
});
};
상위 페이지에, 나도 activate_dummy_app()
또는 activate_false_app()
이 작동 호출하는 경우
또한, 나는 다음 두 작품, 문제는 내가 (이미 init_false_app_communication
이외에) activate_false_app()
의 on_load_fn
에 init_dummy_app_communication
을 넣어 두 easyXDMs 때문에 경우 로딩 할 수있는 뭔가가 있음을 알고있다.
그러나 easyXDM이 이미로드되어 있는지 확신 할 수 없으므로 activate_false_app
과 activate_dummy_app
모두 easyXDM을로드해야하므로 함께 작동 할뿐만 아니라 함께 작동합니다. 내가 noConflict
함수로 작업을 시도했지만 거기에 문서 가난하고 거기에 아무것도 콘크리트로 끝났다.
누군가 비슷한 문제에 직면했거나 내가 무엇을 놓치고 있는지 알고 있습니까?