Javascript 为什么HTML页面插入到带有document.write的弹出窗口中需要刷新才能加载到IE 7/8中?

Javascript 为什么HTML页面插入到带有document.write的弹出窗口中需要刷新才能加载到IE 7/8中?,javascript,internet-explorer-8,internet-explorer-7,window.open,document.write,Javascript,Internet Explorer 8,Internet Explorer 7,Window.open,Document.write,我有一个奇怪的场景。。。经过3个多小时的努力,我决定问一个问题 我正在打开一个带有以下代码的弹出窗口: var mapWin = window.open('', '', params); mapWin.document.open(); mapWin.document.write(map); mapWin.document.close(); 其中,map使用Esri并包含通过AJAX调用获得的页面的完整HTML代码。此页面的代码包括和标记 一切在Firefox和Google Chrome上都能

我有一个奇怪的场景。。。经过3个多小时的努力,我决定问一个问题

我正在打开一个带有以下代码的
弹出窗口

var mapWin = window.open('', '', params);

mapWin.document.open();
mapWin.document.write(map);
mapWin.document.close();
其中,
map
使用Esri并包含通过
AJAX
调用获得的页面的完整
HTML
代码。此页面的代码包括
标记

一切在Firefox和Google Chrome上都能正常工作。:)问题在于挑剔的IE 7/8。当使用
IE 11开发工具进行测试时,文档模式设置为
IE 7
IE 8
document.write
将内容放入新窗口,但它似乎没有执行/运行
map
中包含的部分
,因此,map不会呈现在屏幕上

奇怪的是,如果我右键单击弹出窗口并选择刷新,那么页面将按预期呈现,我可以看到地图

注意:所有脚本都位于
localhost
,即我自己的计算机


你知道是什么导致了这种行为吗?

我完全放弃了打开一个弹出窗口。这是一个如此痛苦的工作与他们,并没有那么友好的用户考虑到有弹出窗口拦截器遍布各地

我所做的是:

在我的ASP.NET MVC应用程序中创建了一个
元素,并将其操作分配给一个控制器操作

<form id="mapform" action="myproject/map/ArcGisMap" target="_blank" method="post"></form>
然后使用一些
jQuery
代码,我们可以在单击该按钮时模拟表单提交:

<script type="text/javascript">

$("#arcGISMap").click(function()
{
    $('#mapform').submit();
});

</script>
在我的
Razor
视图中,我添加了以下内容:

@{
    Layout = null;
}
布局设置为
null
允许我仅在屏幕上渲染地图

[HttpPost]
public ActionResult ArcGISMap()
{
    return View();
}
@{
    Layout = null;
}