Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Запуск функций во фреймах (https://javascript.ru/forum/misc/13093-zapusk-funkcijj-vo-frejjmakh.html)

Kyy 15.11.2010 06:47

Запуск функций во фреймах
 
Добрый день. Возникла проблема - не могу запустить из одного фрейма процедуру функцию находящуюся в другом.
фрейм содержащий функцию faq_search. Текст функции:

var shutup_until = new Date(); /* now */

function _submit(the_form) {

var now = new Date();
var seconds_needed = 2;

if (now.getTime() < shutup_until.getTime()) {

alert("<%= not_so_fast %>");

/* ignore the event */
return;

} else {

shutup_until.setTime(now.getTime() + seconds_needed * 1000);
the_form.submit();
}
}

Далее кнопка на том же фрейме правильно выполняющая эту функцию:
<INPUT type="button" value="<%= bean.findLabel("SP_Find") %>" onclick="_submit(faq_search)" >

На вотром фрейме создаю кнопку:
<INPUT type="button" value="<%= bean.findLabel("SP_Find") %>" onclick="parent.faq_search.document._submit(faq_se arch)" >

И не работает. В этих вопросах новичок. В чем ошибка? И если можно дайте правильный код, чтобы обратиться к к функции на faq_search. Большое спасибо.

Jurasmi 16.11.2010 17:40

Обращаться можно так:
parent.frames['anotherFrame'].remoteFunc();

и так:
parent.anotherFrame.remoteFunc();

Только вот есть такая штука как "политика безопасности".
По меньшей мере седьмой хром не позволит так обратиться к функции в другом фрейме, он выдаст: "Unsafe JavaScript attempt to access frame ...".

Цитата:

И не работает.
В каком браузере у вас не работает код и что пишет браузер на это?

p.s. JS-тяжеловесы дополните, пожалуйста мой ответ. В каких браузерах обращение к такой "удалённой" функции сработает, а где нет?


Часовой пояс GMT +3, время: 11:15.