window.open 在 IE 中不起作用
-
01-10-2019 - |
题
显然,这个电话 window.open
在 Internet Explorer 下无效。我网站上的 Javascript 代码没有运行,我认为这是由于该错误造成的。
它告诉我错误所在的行是对 window.open 的调用,显然那里的参数无效。
$('.objeto').click(
function() {
var center = 'height=380,width=900,top='+((screen.width - 900)/2)+',left='+((screen.height - 380)/2);
var address = $(this).attr('id');
window.open (address,'Ver articulo', config=center);
}
);
该网站在 Google Chrome 和 Firefox 下都运行良好。
解决方案
在IE中,您不能在第二个变量(新窗口的名称)中具有空格。
尝试:
window.open (address,'Ver_articulo', config=center);
其他提示
同样值得重新获得IE9(可能在下面)不喜欢窗口名称(第二参数)中的连字符(' - ')。
我知道其中一条提到了这一点,但这有点掩埋 - 这是一个提示,这对我来说是一个问题。
我不确定什么是配置,您只需要:
window.open (address,'VerArticulo', center);
请记住,看起来像您 id
属性无效,无法在此处获得效果,您可能想使用不同的东西,例如 data-href="urlHere"
在元素上,如果还不是锚。
即使你对OP的回答有点晚了,但对于其他人偶然发现这篇文章可能会有所帮助:
尝试使用“window.open”方法后遇到与OP完全相同的问题。事实证明,Chrome 可以使用带有 URL 的原始 href 标签,而 IE 似乎对此感到困惑。从链接中删除 href 后,工作就完成了。
代码示例:
$(document).ready(function ()
{
$('a[rel^="external"]').each(function ()
{
var externalLink = $(this);
var externalLinkValue = externalLink.attr("href");
externalLink.unbind('click');
externalLink.removeAttr("href");
externalLink.click(function (event)
{
event.preventDefault();
followExtrenalLink = window.open(externalLinkValue,'_blank');
});
externalLink.hover(function ()
{
externalLink.css('cursor', 'pointer');
});
});
不隶属于 StackOverflow