Вызов страницы из одного кадра в другой не запускает мои функции jquery - PullRequest
1 голос
/ 06 ноября 2011

У меня есть страница, на которой есть строка меню для конкретного содержимого. На этой странице есть iframe, который загружает в нее фактическое содержимое, после чего я запускаю функцию jquery высоты и ширины, чтобы заполнить оставшуюся часть окна. Код прекрасно работает во всех основных браузерах. Однако эта страница меню / содержимого загружается во фрейм. В Chrome, Opera и Safari это работает, однако в Firefox он вызывает страницу во фрейм «content», а затем не запускает мою функцию в iframe.

внешний код jquery: resize.js

тестовая страница: test-main.html

видеть это в кадре !: http://www dot rodbikes.com - ссылка слева, «test, ignore me» загрузит тестовую страницу в кадр. (моя редакция снова сломала ссылки, извините)

Я знаю, что кадры грубые, владелец магазина хочет их сохранить. Я знаю, что мой HTML-код не проверяется должным образом, когда я получил код для проверки этих нескольких страниц (используя HTML 4.01 Frameset), у меня возникла та же проблема.

Подробнее:

Я написал 2 функции для определения размера iframe и содержащего его элемента div, чтобы они заполняли все окно браузера независимо от размера просмотра. Это живет в голове:

   <script type="text/javascript">
    $(setheight);
    $(setwidth);
    </script>

, который вызывает это из внешнего файла .js:

function setheight() {
$(document).ready(function() {
     $('#one') .css({'height': (($(window).height()) - 119)+'px'});

     $('#uno') .css({'height': (($(window).height()) - 119)+'px'});
});
}

function setwidth(){


if ($('frame[name=content]', parent).length) {  
     $('#uno') .css({'width': (($(window).width()) - 171)+'px'});

    }
     else {
        $('#uno') .css({'width': (($(window).width()) - 4)+'px'});
     }
}

То, что я нахожу в Firefox OSX, - это iframe без обновленного стиля. Когда я загружаю страницу во фрейм, ее высота и ширина соответствуют стандартным значениям высоты / ширины встроенного фрейма.

У меня также тот же код, что и выше, за исключением

$(window).resize(function()

добавлено, чтобы при изменении размера окна стиль обновлялся динамически. Эта функция называется

function move() {

и призыв к нему - это первое, что есть в теле:

<script type='text/javascript'>
$(move);
</script>

Опять же, это не происходит в Firefox, когда в кадре.

...