Javascript window.open不执行任何操作,不产生任何错误

Javascript window.open不执行任何操作,不产生任何错误,javascript,html,Javascript,Html,所以我被要求在每次用户加载一个页面时都会产生一个新窗口的地方安装它。所以我在标记中创建了以下代码 <SCRIPT TYPE="text/javascript"> function popup(mylink, windowname) { if (! window.focus) return true; var href; if (typeof(mylink) ==

所以我被要求在每次用户加载一个页面时都会产生一个新窗口的地方安装它。所以我在标记中创建了以下代码

<SCRIPT TYPE="text/javascript">
            function popup(mylink, windowname) {
                if (! window.focus) return true;

                var href;

                if (typeof(mylink) == 'string') {
                    href = mylink;
                } else {
                    href = mylink.href;
                    window.open(href, windowname, 'width=400,height=200');
                }

                return false;
            }
        </SCRIPT>

功能弹出窗口(mylink、windowname){
如果(!window.focus)返回true;
var href;
if(typeof(mylink)=‘string’){
href=mylink;
}否则{
href=mylink.href;
window.open(href,windowname,'width=400,height=200');
}
返回false;
}
以及onLoad函数,用于在页面加载时创建弹出窗口

<body onLoad="popup('http://yahoo.com', 'ad')">


然而,什么也没有发生。不创建选项卡,不创建新窗口,通过firebug查看时,不会产生错误。在chrome、firefox和IE9上进行了尝试,结果相同,没有浏览器抱怨他们阻止了弹出窗口。我在这里遗漏了一些非常简单的东西吗?

如果
mylink
是一个字符串(在您的示例中,它是字符串),您永远不会调用
窗口。打开

if (typeof(mylink) == 'string') {
    // Code takes this path
    href = mylink;
} else {
    // Not this one
    href = mylink.href;
    window.open(href, windowname, 'width=400,height=200');
}

话虽如此:如果您解决了这个问题,您将从弹出窗口阻止程序中得到警告/错误。浏览器阻止网站打开弹出窗口,除非直接响应用户操作,如单击。网站在页面加载时打开弹出窗口是原因之一



旁注:
typeof
是运算符,不是函数。操作数周围不需要括号。

如果
mylink
是字符串(在您的示例中是字符串),则永远不会调用
窗口。打开

if (typeof(mylink) == 'string') {
    // Code takes this path
    href = mylink;
} else {
    // Not this one
    href = mylink.href;
    window.open(href, windowname, 'width=400,height=200');
}

话虽如此:如果您解决了这个问题,您将从弹出窗口阻止程序中得到警告/错误。浏览器阻止网站打开弹出窗口,除非直接响应用户操作,如单击。网站在页面加载时打开弹出窗口是原因之一



旁注:
typeof
是运算符,不是函数。操作数周围不需要括号。

如果
mylink
是字符串(在您的示例中是字符串),则永远不会调用
窗口。打开

if (typeof(mylink) == 'string') {
    // Code takes this path
    href = mylink;
} else {
    // Not this one
    href = mylink.href;
    window.open(href, windowname, 'width=400,height=200');
}

话虽如此:如果您解决了这个问题,您将从弹出窗口阻止程序中得到警告/错误。浏览器阻止网站打开弹出窗口,除非直接响应用户操作,如单击。网站在页面加载时打开弹出窗口是原因之一



旁注:
typeof
是运算符,不是函数。操作数周围不需要括号。

如果
mylink
是字符串(在您的示例中是字符串),则永远不会调用
窗口。打开

if (typeof(mylink) == 'string') {
    // Code takes this path
    href = mylink;
} else {
    // Not this one
    href = mylink.href;
    window.open(href, windowname, 'width=400,height=200');
}

话虽如此:如果您解决了这个问题,您将从弹出窗口阻止程序中得到警告/错误。浏览器阻止网站打开弹出窗口,除非直接响应用户操作,如单击。网站在页面加载时打开弹出窗口是原因之一



旁注:
typeof
是运算符,不是函数。操作数周围不需要paren。

“所以我被要求在每次用户加载页面时生成新窗口的地方使用它。”说不。然后解释原因。我这样做了。回答是“做吧,否则我们会找到愿意做的人”。可悲的是,并不是每个人都能在一个美好的工作环境中工作。@canadian:嗯,问题是,即使你为他们编写代码,它也不会工作。浏览器将阻止弹出窗口。祝你好运。@T.J.Crowder谢谢。我需要它D“所以我被要求在每次用户加载页面时都会产生一个新窗口的地方使用它。”说不。然后解释原因。我做到了。回答是“做吧,否则我们会找到愿意做的人”。可悲的是,并不是每个人都能在一个美好的工作环境中工作。@canadian:嗯,问题是,即使你为他们编写代码,它也不会工作。浏览器将阻止弹出窗口。祝你好运。@T.J.Crowder谢谢。我需要它D“所以我被要求在每次用户加载页面时都会产生一个新窗口的地方使用它。”说不。然后解释原因。我做到了。回答是“做吧,否则我们会找到愿意做的人”。可悲的是,并不是每个人都能在一个美好的工作环境中工作。@canadian:嗯,问题是,即使你为他们编写代码,它也不会工作。浏览器将阻止弹出窗口。祝你好运。@T.J.Crowder谢谢。我需要它D“所以我被要求在每次用户加载页面时都会产生一个新窗口的地方使用它。”说不。然后解释原因。我做到了。回答是“做吧,否则我们会找到愿意做的人”。可悲的是,并不是每个人都能在一个美好的工作环境中工作。@canadian:嗯,问题是,即使你为他们编写代码,它也不会工作。浏览器将阻止弹出窗口。祝你好运。@T.J.Crowder谢谢。我需要它谢谢你的帮助。javascript不是我的强项,所以正如所料,我错过了一些简单的东西。你拥有这个功能不是我的主意,但是你做那些给你钱的人想做的事。谢谢你的回复,谢谢你的提醒。javascript不是我的强项,所以正如所料,我错过了一些简单的东西。你拥有这个功能不是我的主意,但是你做那些给你钱的人想做的事。谢谢你的回复,谢谢你的提醒。javascript不是我的强项,所以正如所料,我错过了一些简单的东西。你拥有这个功能不是我的主意,但是你做那些给你钱的人想做的事。谢谢你的回复,谢谢你的提醒。javascript不是我的强项,所以正如所料,我错过了一些简单的东西。你拥有这个功能不是我的主意,但是你做那些给你钱的人想做的事。谢谢你的回复。