在 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無法開啟網際網路網站,操作已中止
謝謝您的這篇資訊,它協助了我找到問題了。
回覆刪除很高興能夠對你有幫助。
刪除