Javascript:如何从图像文件中打开带有维度的弹出窗口?
我正在将大量HTML内容迁移到新平台。源文件在标记中包含宽度和高度信息,但这些尺寸标注是错误的 我想打开一个弹出窗口中的图像,但与源文件的正确尺寸。我已经用链接到弹出脚本的锚点替换了所有原始标记 我遇到的问题是,如果我使用HTML文档中提供的宽度和高度,弹出窗口太小;但只要我在打开弹出窗口之前添加javascript读取真实尺寸(使用naturalHeight和naturalWidth属性),图像就会在一个新选项卡中打开,弹出窗口不再启动 以下是弹出代码:Javascript:如何从图像文件中打开带有维度的弹出窗口?,javascript,image,popup,Javascript,Image,Popup,我正在将大量HTML内容迁移到新平台。源文件在标记中包含宽度和高度信息,但这些尺寸标注是错误的 我想打开一个弹出窗口中的图像,但与源文件的正确尺寸。我已经用链接到弹出脚本的锚点替换了所有原始标记 我遇到的问题是,如果我使用HTML文档中提供的宽度和高度,弹出窗口太小;但只要我在打开弹出窗口之前添加javascript读取真实尺寸(使用naturalHeight和naturalWidth属性),图像就会在一个新选项卡中打开,弹出窗口不再启动 以下是弹出代码: <script type="te
<script type="text/javascript">
function wopen(url, name, w, h) { //w and h are incorrect but available in the HTML
w += 32; //padding for scrollbars and borders
h += 96;
var win = window.open(url,
name,
'width=' + w + ', height=' + h + ', ' +
'location=no, menubar=no, ' +
'status=no, toolbar=no, scrollbars=no, resizable=yes');
win.resizeTo(w, h);
win.focus();
}
</script>
我还尝试修改弹出脚本以读取属性naturalWidth和naturalHeight,然后将这些属性传递给window.open或window.resizeTo。同样的情况也会发生,引用图像的任何代码行也会在新选项卡中打开图像,而弹出窗口不会启动。例如,我尝试添加以下行:
var x=document.getElementByID(url);
rw=x.naturalWidth;
rh=x.naturalHeight;
接
var win = window.open( same parameters as above, replacing w and h with rw and rh )
或
为了锦上添花,这些页面必须在基于铬的专有浏览器中正常工作;这意味着win.resizeTo不一定有效
我真的不知道这到底出了什么问题,但我希望我已经清楚地解释了我想要实现的目标。我的wopen函数是否可以在事先不知道大小的情况下以正确的大小打开?此位
函数getimagewidth(i){var x=new Image;x.src=i;return x.naturalWidth;}
默认情况下不会在chrome中打开新选项卡。我不知道你为什么会看到这样的情况,但是如果真的发生了,我的建议是:在你的html页面上有一个隐藏的图像;在那里加载图像,然后获得宽度;然后在弹出窗口中打开。谢谢你的建议。我现在就试试。
var win = window.open( same parameters as above, replacing w and h with rw and rh )
win.resizeTo(rw, rh);