網頁中,一開始我是這樣寫
<html xmlns="http://www.w3.org/1999/xhtml">
<script type="text/javascript" src="jquery.js"></script>
<head></head>
<script language="javascript">
<!--
$(document).ready(function(){
$.ajax({
url: 'something.asp',
type: 'POST',
error: function(xhr) {
alert("error");
},
success: function(xhr) {
$('#something').html(xhr);
}
});
});
-->
</script>
<body>
<table id="something">
</table>
</body>
</html>
這在firefox 1x跟chrome都跑的ok…ie9好像也ok…但ie8資料要塞進table(something)塞不進去。
找來找出才找到跟
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">有關…把這行放到<html…>之前就ok…
但過了一天,有人跟我說,同樣的網頁,a與b的電腦在something的table中看不到東西,但c的電腦是ok的…後來a跟b跟我反應之後才知道a跟b的電腦中的ie是6跟7…
當下只想到叫他們更新到ie8…但卻有人說不可能叫每一個來看網頁的人都更新吧…(為啥不行,不應該使用的東西就不應該使用呀…)
好吧…只好先來去查看看是哪邊的問題…
本來是以為是不是jquery .ajax()的問題,但測過別的東西是ok的…
再來想到是.html()的問題,但換了innerHTML之後也一樣不行。
後來找到http://blog.jeffbeck.info/?p=7網頁,才知道,原來在ie6/7中,table中的東西僅屬「讀取」用…你想塞東西進去是不被允許的…
最後,就到something.asp改成reponse一整個table(原本只是reponse<tr><td>...</td></tr>)…然後原來的something(table)改為something(div)…ie6/7就正常了
沒有留言:
張貼留言