1:  <html><body>
   2:  <img src="banner">
   3:  <table>
   4:  <tr><td>First Line</td></tr>
   5:  <tr><td><input type="text" name="txt1">
   6:  <script type="text/javascript" src="inc.js"></script>
   7:  <script type="text/javascript">
   8:      //call some function in inc.js
   9:  </script>
  10:  </td></tr>
  11:  </table></body></html>

我寫了一個類似上面的網頁,Include一個js,然後呼叫js裡的特定函數處理TextBox,看似OK,但以IE開啟時,卻會彈出Operation Aborted的MessageBox。網頁只顯示了上方的Banner Image,感覺上還來不及顯示表格,IE就出問題中止了。

Google了一下,找到這篇說明,狀況跟我十分類似。照著說明,將<script>移到</table>下方,問題迎刃而解。

【教訓】

不要在<td></td>間夾入<script> Block,以免發生不測。
不要在<table>....</table>的勢力範圍內夾入<script> Block或其他奇奇怪怪的東西,以免發生不測
(Update @ 2007-06-25,謝謝Steve補充)

Updated 2008-01-23 by Jeffrey
正解出現,在<div></div> <table></table>中修改上層元素的innerHTML或appendChild就會出事,請見: http://blog.darkthread.net/blogs/darkthreadtw/archive/2008/01/23/tips-ie-operatino-aborted-again.aspx


Comments

# by steve

我在td外碰過問題 例如<tr><td>之間或者</td></tr>之間 看來總之就是乖乖的照規矩來 table就是table,不要在table中間任何地方放不該放的東西

Post a comment