IE8有问题......
我有一个onclick触发showImageBrowser()
功能的按钮。
function showImageBrowser(params) {
var open = window.open('http://localhost/admin/browse?'+params,'newwin','toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=1,resizable=1,width=950,height=500');
if (!open) {
alert('Could not open the image browser, please disable your popup blocker.');
}
}
现在,在图像浏览器中单击图像时,它会调用此函数:
function selectFile(url, el) {
window.opener.replaceImage('Test_Image', url);
window.close();
}
在父窗口中调用replaceImage()
函数,就像已经过了一样。
这是代码:
function replaceImage(el, url) {
$('#'+el).html('<a href="'+url+'" target="_blank" class="image">'+basename(url)+'</a>');
$("input[name='"+el+"']").val(url);
}
现在如果你第二次点击原来的showImageBrowser()
按钮,IE会调出窗口,但这次会冻结几秒钟,然后你会收到警告“无法打开图像浏览器,请禁用弹出窗口拦截器。“
这在Firefox(显然)中运行良好,但在IE中则不行。我甚至没有在IE7 / 6中尝试过,因为如果它在8中不起作用,那么我知道我会遇到问题。
有什么建议吗?
答案 0 :(得分:0)
我不知道这背后的背景,但看起来IE不会window.open
进入现有的窗口 - 可能出于安全考虑,我不知道。
您可以尝试每次随机(不同)替换newwin
,每次拨打showImageBrowser()
时都会打开一个新窗口。