Js未加载完毕导致页面在IE中弹出错误

在一个拥有富文本编辑框(tinymce)的form表单中,当提交数据后,希望弹出一个消息对话框后跳转到另外一个页面,我的做法:当提交完数据后向前台页面输出一段js代码,如:使用return string.Format("<script language=\"javascript\">

alert(\"{0}\");window.location.href=\"{1}\";</script>", msg, redirectUrl);

向页面弹出消息对话框的时候,在IE中会导致消息对话框弹出后,页面出现js错误(在FireFox,Chrome就不会有这样的错误),经多次测试发现原来是由于弹出消息对话框后跳转到其它页面时,导致的tinymce的js未加载完毕出现的js错误,所以要解决这个问题,就需要在页面元素加载完后再弹消息对话框。

那么如何实现页面元素加载完后再弹出消息对话框呢?

方法1:

return string.Format ("<scriptlanguage=\"javascript\">if(document.all){{

document.onreadystatechange=function(){{alert(\"{0}\");window.location.href=\"{1}\";}};}

else{{window.onload=function(){{alert(\"{0}\");window.location.hre=\"{1}\";}}}}</script>", msg, redirectUrl);

方法2:

如果页面上使用了jQuery的话,可以使用下面的做法:

return string.Format("<scriptlanguage=\"javascript\">$(window).load(function()

{{alert(\"{0}\");window.location.href=\"{1}\";}});</script>", msg, redirectUrl);

 

在这里你还有可能遇到string.Format()格式化的问题,查看相关问题

你可能感兴趣的:(IE)