Javascript - window.open() 弹出窗口大小问题
Javascript - window.open() popup size issue
我正在尝试在新创建的弹出窗口中显示预加载的图像 window。这是代码:
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);
}
当我在 OpenImage() 函数中输出 'str' 变量时,此代码给出了大图像的完美尺寸。但是,弹出 window 的大小总是与图像的大小不同。 IE 将弹出窗口 window 水平拉伸,而 Google Chrome 将其垂直拉伸。尽管事实上两个浏览器显示的图像尺寸完全相同。图像的这些尺寸实际上被设置为弹出窗口的大小 window。
此致。
尝试一下,也尝试重命名您的变量 top
,我认为 javascript 将其作为关键字阅读。
var str = "width=" + img.width + ",height=" + img.height + ",top=" + tops + ",left=" + left + ",status=0, scrollbars=0, resizable=0 ";
我正在尝试在新创建的弹出窗口中显示预加载的图像 window。这是代码:
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);
}
当我在 OpenImage() 函数中输出 'str' 变量时,此代码给出了大图像的完美尺寸。但是,弹出 window 的大小总是与图像的大小不同。 IE 将弹出窗口 window 水平拉伸,而 Google Chrome 将其垂直拉伸。尽管事实上两个浏览器显示的图像尺寸完全相同。图像的这些尺寸实际上被设置为弹出窗口的大小 window。
此致。
尝试一下,也尝试重命名您的变量 top
,我认为 javascript 将其作为关键字阅读。
var str = "width=" + img.width + ",height=" + img.height + ",top=" + tops + ",left=" + left + ",status=0, scrollbars=0, resizable=0 ";