不工作的樣式表路徑,我有以下文件:動態地改變IE和Firefox
<html>
<head>
<title></title>
<link rel="css" type="text/css" href="/empty.css" title="css" />
<script type="text/javascript" src="/Prototype"></script>
<script type="text/javascript">
function load_content()
{
var d = new Date();
new Ajax.PeriodicalUpdater('content', '/DOC?'+d.getTime(),
{
method: 'post',
frequency: 5,
onSuccess: function(transport) {
for(i=0; (a = document.getElementsByTagName('link')[i]); i++)
{
if(a.getAttribute('rel') == 'css' && a.getAttribute("type") == 'text/css')
{
a.href = '/CSS?'+d.getTime();
}
}
}
});
}
</script>
</head>
<body>
<div id="content"></div>
<script type="text/javascript">
load_content();
</script>
</body>
</html>
注:忽略d.getTime()調用......這些都只是得到解決的問題與IE不從AJAX調用加載新頁面,因爲它的緩存方案過於激進。
基本上,當它在/ DOC上重新加載文件時,它應該將當前樣式表設置爲/ CSS處的文件... DOC和CSS都在不斷變化。
奇怪的是,在Chrome中,它的工作效果很好。 DOC加載到「內容」div中,樣式表被設置爲CSS,並將該CSS應用於頁面。我可以使用CSS頁面更改5秒,當頁面刷新時,CSS也會刷新。
但是在IE和Firefox中,HTML會加載,我可以看到樣式錶鏈接的href屬性變爲「/ CSS + getTime()」,但是當HTML加載時,css是從來沒有適用於該頁面。我甚至可以改變DOC的內容並更新它,但是這個CSS永遠不會被應用。它只是一個沒有風格的頁面。
Firefox和IE不支持以這種方式更改樣式表引用嗎? 有沒有更好的方法來做到這一點?
有趣... 2件事。 創建元素後,如何訪問和更改CSS?我沒有線索。其次...我周圍搜索,發現一堆地方說,document.createElement('鏈接')將無法在IE瀏覽器...有沒有其他方法? – 2009-01-12 16:41:51