У меня есть страница, на которой есть строка меню для конкретного содержимого. На этой странице есть 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, когда в кадре.