ПРИВЕТ, я удивительно нашел, что проблемы, в браузере Chrome, в вызове окна порождают функции JavaScript. Если у меня есть окно с функцией, определяемой JavaScript в нем
<script type="text/javascript">
function dolink() {
. . .
}
</script>
и у меня есть iframe в том окне, которое выполняет этот вызов с помощью jQuery
<script type="text/javascript">
$(function() {
$('a.arglink').click(function() {
window.parent.dolink($(this).attr('href'));
return false;
});
});
</script>
вызов к скупой раздаче функции не работает. Ступая с хромовым отладчиком JavaScript, кажется, что window.parent.dolink не определен. Именно дизайном или ошибкой я сделал? В Firefox и IE это хорошо работает.
Наконец-то нашел!
Похоже, что браузер Chrome не позволяет ссылаться на родительское окно, обращающееся к страницам, с протоколом file: . Фактически, я тестировал приведенный выше код с файлами на своей машине, поэтому с URL-адресом типа file: /// C: /mytests/mypage.html
. Если я помещу эту страницу на веб-сервер, все будет работать, как ожидалось.
Что насчет использования frameElement
и ownerDocument
<script type="text/javascript">
$(function() {
$('a.arglink').click(function() {
window.frameElement.ownerDocument.parentWindow.dolink($(this).attr('href'));
return false;
});
});
</script>