[工作问题总结]window.open导致IE自动关闭问题总结[2]
2013-06-10 22:48
531 查看
------------------------------ASP.Net+Android+IO开发 .Net培训 期待与您交流!------------------------------
先总结下曾今在之前的window.open导致IE自动关闭问题总结[1]中总结到,仅走前台不会导致浏览器的禁止弹出......
但在我们真正开发的时候,不得不走后台怎么办呢? 我就遇到这个问题.
先将自己的解决方法总结下,但我并不承认是多么好的方法,但至少还没有测出什么bug来.
走ajax,但如果在ajax中的success和error中写代码的话,及会造成浏览器的禁止弹出......所以 我稍微走了捷径.
(1)后台自动产生html普通按钮代码
重点代码在加onclick方法:先走funSetSession方法,如果返回true则走funOpenUnitFrame这个方法否则走funReturn
(2)前台funSetSession方法,里面走ajax
(3)funSetSession方法 返回true则window.open,此方法还能保证一直仅弹出一个win
(4)funSetSession方法 返回false则返回首页
window.open 真心挺讨厌的,貌似<a>的href也可以有window.open的功能,但没研究过......以后有机会总结......
------------------------------ASP.Net+Android+IO开发 .Net培训 期待与您交流!------------------------------
先总结下曾今在之前的window.open导致IE自动关闭问题总结[1]中总结到,仅走前台不会导致浏览器的禁止弹出......
但在我们真正开发的时候,不得不走后台怎么办呢? 我就遇到这个问题.
先将自己的解决方法总结下,但我并不承认是多么好的方法,但至少还没有测出什么bug来.
走ajax,但如果在ajax中的success和error中写代码的话,及会造成浏览器的禁止弹出......所以 我稍微走了捷径.
(1)后台自动产生html普通按钮代码
foreach (DataRow dr in dsEmpInfo.Tables["Employee"].Rows) { var btnEmp = new System.Web.UI.HtmlControls.HtmlInputButton();//普通按钮 btnEmp.Attributes.Add("id", ""); btnEmp.Attributes.Add("value", ""); btnEmp.Attributes.Add("class", ""); btnEmp.Attributes.Add("onclick", "var result = funSetSession('" + (string)dr["EmpAccount"] + "');if(result) {funOpenUnitFrame('" + (string)dr["EmpAccount"] + "');}else{funReturn();}"); divEmp.Controls.Add(btnEmp); }
重点代码在加onclick方法:先走funSetSession方法,如果返回true则走funOpenUnitFrame这个方法否则走funReturn
(2)前台funSetSession方法,里面走ajax
function funSetSession(empAccount) { var result = false; var ajaxUrl = "EmpLoginPortal.aspx?ajaxMethod=SetEmpAccount&EmpAccount=" + empAccount; $.ajax({ type: "POST", //提交方式 url: ajaxUrl, dataType: "text", //类型 async: false, success: function (data) { if (data == "SUCCESS") { result = true; } else {} }, error: function () {} }) return result; }
(3)funSetSession方法 返回true则window.open,此方法还能保证一直仅弹出一个win
function funOpenUnitFrame(empAccount) { if (win) { if (!win.closed) { win.close(); } win = window.open(WINDOW_URL, WINDOW_NAME, WINDOW_ATTRS); } else { win = window.open("", WINDOW_NAME, WINDOW_ATTRS); if (win.location.href === "about:blank") { win = window.open(WINDOW_URL, WINDOW_NAME, WINDOW_ATTRS); } else { win.close(); win = window.open(WINDOW_URL, WINDOW_NAME, WINDOW_ATTRS); } } }
(4)funSetSession方法 返回false则返回首页
function funReturn() { var LoginPortal = './GrandsysLoginPortal.aspx'; window.top.location.replace(LoginPortal); }
window.open 真心挺讨厌的,貌似<a>的href也可以有window.open的功能,但没研究过......以后有机会总结......
------------------------------ASP.Net+Android+IO开发 .Net培训 期待与您交流!------------------------------
相关文章推荐
- [工作问题总结]window.open导致IE自动关闭问题总结[1]
- Windows XP SP2的WRSF安全特性导致IE使用window.open和window.showModalDialog的status=no无法关闭状态栏
- window.open 打开的子窗口 闪一下即自动关闭问题
- window.open()在IE中打开新窗体有时候打不开的问题
- 解决ie的window.open的referer丢失问题。
- Win7运行程序总提示出现一个问题,导致程序停止正常工作。请关闭该程序?原来GreenBrowser下载有问题……
- window.open()使用方法以及传参数的问题总结
- form中的button按钮在IE11中自动提交表单问题导致弹出框关闭之后表单被重置
- 解决ie的window.open的referer丢失问题。
- Activity使用Dialog样式导致点击空白处自动关闭的问题
- IE7下window.open()的一个小问题
- form中的button按钮在IE11中自动提交表单问题导致弹出框关闭之后表单被重置
- Activity使用Dialog样式导致点击空白处自动关闭的问题
- Activity使用Dialog样式导致点击空白处自动关闭的问题
- Activity使用Dialog样式导致点击空白处自动关闭的问题
- Activity使用Dialog样式导致点击空白处自动关闭的问题
- 解决IE中window.open打开链接refer丢失的问题
- Activity使用Dialog样式导致点击空白处自动关闭的问题
- [工作问题总结]支持IE 6 7 8 9 上下固定 中间自适应
- Activity使用Dialog样式导致点击空白处自动关闭的问题