js document.location.href执行完url之后才之后后续的功能
我现在做的是一个导出excel,在点击导出的时候显示一个遮罩层,执行完之后隐藏。。 展开
document.location.href
它的作用 是将当前页面进行跳转 既然进行跳转了 那么就是马上加载新页面 后面的代码自然不能执行了 完全没办法执行后续代码。
但根据阁下所言 显然是想进入新页面然后下载一个excel文件 那么我可以提供以下几种思路方法供你选择:
用COOKIE,在执行页面跳转前 设置COOKIE 在跳转到新页面后 在新页面执行COOKIE检测 检测到后就执行你要的遮罩层代码 然后进行下载 当然执行完后还要把COOKIE销毁 避免重复
打开新页面 用JS打开一个新页面 这样就不会影响到当前页面后面的代码
使用隐藏框架,即Iframe 用JS将它的链接修改为你要导出的那个页面 有文件下载自然会下载 而且看起来比较友好 推荐这一种方法
阁下可以先考虑一下这些思路 觉得某一种可行后 再想如何写代码 若中途有什么疑问 再行追问
现在的问题是他会执行之后的代码。
mk.show();
document.location.href="excelExportByTalksDay.action“;
mk.hide();
他执行玩show方法之后执行链接,然后直接就执行了hide方法。。但是下载Excel的窗口还没有出来。。
我上面已经给你说了 你如此根本不可能执行后面的代码 因为
document.location.href="excelExportByTalksDay.action“;
这一句执行就是将此页面新加载 后面的代码都不会执行,需要执行后面的代码 我前面已经给你说过 有那三种方法。
我看你的想法分明是新打开一个下载页面 当前页面也不被刷新 那么显然不能用document.location.href了,可以用新打开窗口或隐藏iframe的方法,这两者你选其一。你确定用哪一种方法后 我再告诉你后面怎么弄
我现在做的是一个导出excel,在点击导出的时候显示一个遮罩层,执行完之后隐藏。。
这个问题怎么解决的啊?