我有一段程式向來執行良好,原本按了確定鍵後會導入下一個視窗,程式碼如下:
<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就開始出現一堆奇怪的訊息,很麻煩.
可以試著在頁面加入下列相容 IE7 的 meta 資訊,看是否可行
<pre class="c" name="code"><meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">
<pre class="c" name="code"><%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文件</title>
<script type="text/JavaScript">
<!--
function MM_callJS(jsStr) { //v2.0
return eval(jsStr)
}
//-->
</script>
<body onload="MM_callJS('window.close();');self.opener.location.reload();">
這是整個頁面語法,使用方式是
開啟的新視窗(新增修改刪除)工作結束後轉至此頁,則立即關閉新視窗,並將開啟母頁做重整作業
IE8上工作可以執行且沒任何狀況。
msnhfj,要在anchor使用JavaScript,應該放在onclick而不是href,IE8是為了避免XSS才做這樣的處理。