Javascript - window.open()弹出窗口大小问题

时间:2015-02-27 09:11:17

标签: javascript html google-chrome internet-explorer window.open

我正在尝试在新创建的弹出窗口中显示预加载的图像。这是代码:

HTML

<div id="hiddenImages" style="display: none;"></div>

<a href="BigImage1.png" onclick="OpenImage(this,event);" target="_blank"> <img src="SmallImage1.gif" width="196" height="130" border="0"></a>

<a href="BigImage2.png" onclick="OpenImage(this,event);" target="_blank"> <img src="SmallImage2.gif" width="196" height="130" border="0"></a>

JS

<script type="text/javascript">
preloadImages('BigImage1.png','BigImage2.png');
</script>

// PreLoadImages:

function preloadImages() {
     var hiddenDiv = document.getElementById('hiddenImages');
     var i;
     var img;

     for(i = 0; i < arguments.length; i++) {
          img = document.createElement('img');
          img.src = arguments[i];
          img.id = arguments[i];    
          img.alt = '';
          hiddenDiv.appendChild(img);
     }
}

// OpenImage:

function OpenImage(element,e)
{
  e.preventDefault();
  var big_image = element.getAttribute("href"); 
  var img = document.getElementById(big_image);

  var top = (screen.height/2)-(img.height/2);
  var left = (screen.width/2)-(img.width/2);


 var str = "\"" + "width=" + img.width +  ",height=" + img.height +  ",top=" + top +  ",left=" + left +  ",status=0, scrollbars=0, resizable=0" + "\"";
 alert(str);

 var myWindow = window.open(img.src , "win1", str); 


}

当我输出&#39; str&#39;在OpenImage()函数中,此代码提供了大图像的完美尺寸。但是,弹出窗口的大小始终与图像的大小不同。 IE将水平拉伸弹出窗口,而Google Chrome则垂直拉伸。尽管两个浏览器都显示出与图像完全相同的尺寸。并且图像的这些尺寸实际上被设置为弹出窗口的大小。

问候。

1 个答案:

答案 0 :(得分:1)

试试这个,同时尝试重命名变量top,我认为javascript会将其作为关键字读取。

var str = "width=" + img.width +  ",height=" + img.height +  ",top=" + tops +  ",left=" + left +  ",status=0, scrollbars=0, resizable=0 ";