gpt4 book ai didi

JavaScript - 弹出窗口拦截器问题

转载 作者:行者123 更新时间:2023-11-28 19:21:42 25 4
gpt4 key购买 nike

当我使用 JavaScript 单击较小的图像 (SmallImage.gif) 时,我尝试打开较大的图像 (BigImage.png)。这是代码:

HTML

<td align="center"><a href="BigImage.png" onclick="OpenImage(this,event);" target="_blank"><img src="SmallImage.gif" width="196" height="131" border="0"></a></td>

JavaSript

    function OpenImage(element,e)
{


e.preventDefault();

var img = new Image();
img.src = element.getAttribute("href");

img.onload = function(){

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

var winWidth = img.width;
var winHeight = img.height;

var myWindow = window.open(img.src, "win1", 'height=' + winHeight + ', width=' + winWidth + ',left=' + left + ',top=' + top + ', location=0, toolbar=0, menubar=0, location=0, status=0, scrollbars=0, resizable=0');

if(!myWindow )
{
alert("Please allow Popup Blocker to open window and click the image again.");
}

};
}

当这段代码运行时,Google Chrome 和 Internet Explorer 会调用弹出窗口阻止程序。我通过直接单击调用 JS 代码,该代码不应调用弹出窗口阻止程序。为什么会发生这种情况?我该如何解决这个问题?

问候。

最佳答案

即使您为了响应用户点击而打开它,它也会关闭弹出窗口阻止程序的原因是您从 img.onload 中调用它,这是异步的,并且将导致弹出窗口阻止程序显示。尝试从 onload 函数外部调用 window.open,应该可以。

关于JavaScript - 弹出窗口拦截器问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28756244/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com