TypeError:window.open不是函数

时间:2013-02-22 08:41:32

标签: javascript jquery

我不断在firebug上收到此错误 - > TypeError:window.open不是函数

代码:

    $(document).ready(function()
{
    $('.div').click(function()
    {
        var link = $(this).data('link');
        window.open(link);
    });
});

这个功能应该不起作用吗?

6 个答案:

答案 0 :(得分:7)

对于所有其他程序员来说,迟到了!如果你有一个名为&#34的全局变量;打开"喜欢" open = true;"或" var open = true"或类似的东西,那么函数" open()"不再适用了。

答案 1 :(得分:1)

虽然您的问题并不完全清楚,但window.open的值不是只读的,因此可以通过其他代码进行更改,例如:

window.open = false;
// ...
window.open('something') // error: window.open is not a function

如果您知道网页上加载了哪些脚本,那么这应该不难,只需搜索与window.open相关的任何内容。

答案 2 :(得分:1)

尝试一下

window.open("https://www.google.com/", "_blank");

此代码对我来说很好用。如果这不起作用,请确保不要声明以“ open”命名的变量或函数。 (我曾经遇到过这个问题。)

答案 3 :(得分:0)

我不知道为什么,但是在你的小提琴中,下面的改变对我有用。

更改

var link = $(this).attr('data-link');
window.open(link); 

答案 4 :(得分:0)

如果您在chrome控制台中尝试过它,但发现它不起作用,请尝试将其作为预加载到页面中的脚本进行尝试。就我而言,它有效。

答案 5 :(得分:0)

如果您有一个名为“ window”或“ open”的局部变量,则函数“ window.open()”将不再起作用。