问题仅适用于IE7,因为location.replace(strURL)似乎在所有其他主流浏览器中都有效。 我尝试执行一些分析js,然后将用户重定向到他们想要下载的资源(通常是doc或pdf)的位置。 用户打开包含js代码的页面。 跟踪下载后,broswer应使用以下代码加载resurouce url:通过资源url替换历史记录中的当前页面条目:
if (IE) {
window.open(strURL,"_self", true); //doesn't work
//window.open(strURL,"_self",undefined, true); //doesn't work
return;
}
此代码在重定向页面的历史记录中创建条目。 我尝试在同一页面上使用iframe,但如果文件是* .doc
,IE会弹出安全警告有什么想法吗?
答案 0 :(得分:0)
我不确定是否有办法在IE7中避免这种情况。也许可以采用不同的方法。在重定向之前将分析js注入当前页面,从而避免完全加载另一页面的需要。在这种方法中,您将创建一个新的脚本标记并将其注入head元素。该脚本将在加载时执行,执行分析,然后触发重定向作为最后一步(例如)。
function redirectWithAnalytics() {
var s = document.createElement('script');
s.src = 'path/to/analytics.js';
s.type = 'text/javascript';
document.getElementsByTagName('HEAD')[0].appendChild(s);
}