iT邦幫忙

0

換了IE8才產生的錯誤.

msnhfj 2009-08-12 10:54:3611282 瀏覽

我有一段程式向來執行良好,原本按了確定鍵後會導入下一個視窗,程式碼如下:
<td height="40" colspan="2">
<div align="center"><a href="javascript:preview();">
<td height="40" colspan="2">
<div align="center">
<a href="javascript:preview();"><img src="/Images/Btn_Preview.gif" ></a> 
<input Type=image src="/Images/Btn_UploadOK.gif" width="85" height="23" align="absmiddle">
 <a href="javascript:opener.location.reload();window.close();"><img src="/Images/Btn_Close.gif" width="85" height="23" align="absmiddle" border="0"></a></div>
</td>
但在IE8執行時無法出現正常畫面,反而在視窗中顯示這行指令:
<script>opener.location.reload();window.close();</script>
並未如預期的關閉該視窗,導入另一個視窗.

是IE8看不懂這些指令嗎? 換了IE8就開始出現一堆奇怪的訊息,很麻煩.

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
34
wonton
iT邦高手 6 級 ‧ 2009-08-12 11:50:53
最佳解答

可以試著在頁面加入下列相容 IE7 的 meta 資訊,看是否可行

&lt;pre class="c" name="code">&lt;meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">
msnhfj iT邦新手 4 級 ‧ 2009-08-12 17:01:42 檢舉

謝謝您的建議,但没有作用,仍然出現相同的訊息.

10
wcphi
iT邦新手 3 級 ‧ 2009-08-13 22:42:08
&lt;pre class="c" name="code">&lt;%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>

&lt;html xmlns="http://www.w3.org/1999/xhtml">

&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
&lt;title>無標題文件&lt;/title>
&lt;script type="text/JavaScript">
&lt;!--
function MM_callJS(jsStr) { //v2.0
  return eval(jsStr)
}
//-->
&lt;/script>


&lt;body onload="MM_callJS('window.close();');self.opener.location.reload();">

這是整個頁面語法,使用方式是
開啟的新視窗(新增修改刪除)工作結束後轉至此頁,則立即關閉新視窗,並將開啟母頁做重整作業
IE8上工作可以執行且沒任何狀況。

12
tenyi
iT邦新手 5 級 ‧ 2009-08-14 08:50:40

msnhfj,要在anchor使用JavaScript,應該放在onclick而不是href,IE8是為了避免XSS才做這樣的處理。

msnhfj iT邦新手 4 級 ‧ 2009-08-17 16:37:03 檢舉

您是說把href那行改成這樣嗎?
<input type=image src="/PB_Images/Btn_Close.gif" width="85" height="23" align="absmiddle" border="0" onClick="MM_callJS('window.close();');self.opener.location.reload();">

我要發表回答

立即登入回答