2012-01-23 2 views
0

Я хочу отправить javascript-вызов из окна B, который является дочерним по отношению к окну A. Допустим, у нас есть окно A с js для того же существа, что и ajs.js и окно B с js, поскольку оно является bjs. js Окно B открывается в контейнере окна A. Как можно отправить вызов из bjs.js в функцию ajs.js?Отправка вызова функции javascript из дочернего окна в функцию родительского окна.

Ext, 3,0/3,4 Windows 7

ответ

1

Если оба окна находятся в том же домене, вы можете объявить метод Foo() на родителя, и назвать его в ребенке с

в родителю:

window.foo = function() { alert('called!'); } 

Из дочернего окна:

window.parent.foo() 

Если они не находятся в том же домене, вы не будете в состоянии сделать это. В зависимости от версии вашего браузера вы можете использовать метод window.postMessage для передачи информации между окнами.

+0

Должно быть только «foo» вместо «window.foo» при объявлении/определении «foo». Я пытался сделать это с помощью window.foo, не работал ... работает с simlpy «foo = function() {alert ('called!');}« – Ashwin

+0

Мне нужно будет увидеть, как ваш код выясняет, почему - окно. foo и foo должны быть одинаковыми. Javascript «объекты», объявленные в глобальной области, прикрепляются к объекту окна. –

1

Вы должны быть в состоянии вызывать функции в ajs.js от bjs.js использованием window.parent в winodw B. Например, если у вас есть функция foo() в ajs.js, вы можете вызвать его из окна B, используя window.parent.foo()

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