在 Google 找了好幾篇文章,建議把 IE 的 plug-in 套件移除或關閉,甚至蠻多人說是安裝了 skype 的 plug-in,但自己試了,還是沒用。最後在一篇文章「IE無法開啟網際網路網站,操作已中止」,有提到:如果出現這個畫面,代表在IE在DOM尚未載入完全的時候,就嘗試存取DOM而產生的訊息。所以,我猜想可能是我執行 window.open( ) 時,頁面上的 DOM 還沒完全載入所造成。既然如此,為了確保頁面上的 DOM 能完全載入,我想起透過 jQuery 的
$(document).ready(function(){ //Do Some ... });
透過這種寫法,可以確保所有 DOM 都載入後,才開始執行裡面的程式。
所以我將原先 window.open( ) 的動作,移到 $(document).ready(function(){ //Do Some ... }); 裡試試,果然就沒在出現原先的錯誤訊息了。
private void btnPrintSignNew_Click(object sender, System.EventArgs e)
{  
  string scriptString=string.Empty;
  scriptString = string.Format(@"
  <script language=JavaScript>
  <!-- begin 
  $(function(){{
  window.open('xxx');
  }});
  //end -->
  </script> 
"));
  this.RegisterStartupScript("MsgDownLoad",scriptString);
}
參考:
01:IE無法開啟網際網路網站,操作已中止
謝謝您的這篇資訊,它協助了我找到問題了。
回覆刪除很高興能夠對你有幫助。
刪除