如何执行javascript函数以使用不同的样式表?

时间:2011-02-16 20:00:22

标签: javascript css javascript-events

如果我的应用在iframe中加载,我想提供不同的样式表。我用什么javascript事件来检查,以及如何提供不同的样式表?

编辑:

我尝试将它连接到body onLoad事件:

    <script type="text/javascript">
        function checkFrame() {
            if (window.top!=window.self)
            {
                // In a Frame or IFrame
                document.write("<link rel='stylesheet' type='text/css' href='/custom/embedded'>");
            }
            else
            {
                // Not in a frame
                document.write("<link rel='stylesheet' type='text/css' href='/custom/standard'>");
            }
        }
    </script>

但它只显示空白页面中的样式表链接。

5 个答案:

答案 0 :(得分:1)

查看window.parent。如果它不是null,那么你就在一个框架内。我不认为会发生“事件”。

答案 1 :(得分:1)

如果window.parent不是== null,那么你就在一个框架中。您也可以通过这种方式访问​​有关包含页面的信息。

您可以连接到身体onload事件。

答案 2 :(得分:1)

我已经使用jQuery进行动态样式表切换。我敢肯定,纯粹的JS是平等的。假设您的<head>....</head>包含

<link type='text/css' rel='stylesheet' href='styles.php?theme=default' />

然后你可以用这种方式重新加载CSS文件(或传递值相同的CSS文件)

 $('link').attr('href','styles.php?theme=' + newTheme); 

答案 3 :(得分:1)

List Apart有一个非常漂亮的风格切换器。

http://www.alistapart.com/articles/alternate/

答案 4 :(得分:0)

这是我最终在jQuery中所做的事情。我太复杂了。

$(function() {

    if (window.top!=window.self) {
        // my css switcher
    }
}