如果我的应用在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>
但它只显示空白页面中的样式表链接。
答案 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有一个非常漂亮的风格切换器。
答案 4 :(得分:0)
这是我最终在jQuery中所做的事情。我太复杂了。
$(function() {
if (window.top!=window.self) {
// my css switcher
}
}