将一个页面从一个帧调用到另一个帧不会运行我的jquery函数

时间:2011-11-06 03:53:50

标签: javascript jquery frameset

我的页面上有一个内容特定的菜单栏。这个页面有一个iframe,它将实际内容加载到其中,然后我运行一个高度和宽度jquery函数来填充窗口的其余部分。该代码适用于所有主流浏览器。但是,此菜单栏/内容页面被加载到一个框架中。在Chrome,Opera和Safari中它可以工作,但是在Firefox中它将页面调用到“内容”框架,然后不在iframe上运行我的功能。

外部jquery代码:resize.js

测试页:test-main.html

在框架中看到它!:http://www点rodbikes.com - 左边的链接,“测试,忽略我”将测试页面加载到框架中。 (我的编辑再次破坏了链接,抱歉)

我知道画面很粗,店主想保留它们。我知道我的HTML代码没有正确验证,当我确实得到那些几页要验证的代码时(使用HTML 4.01 Frameset)我遇到了同样的问题。

更多信息:

我编写了两个函数来调整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'});
     }
}

我在OSX firefox中发现的是没有更新其样式的iframe。当我将页面加载到框架中时,它的高度和宽度就是浏览器使用的任何iframe高度/宽度。

我也有与上面相同的代码,除了

$(window).resize(function()

添加,以便在调整窗口大小时,样式应动态更新。 该功能称为

function move() {

并且对它的调用是身体中的第一件事:

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

同样,在框架中,这不会发生在Firefox中。

0 个答案:

没有答案