14

我只是想使用警报并将一个字符串变量放入警报中并得到一个错误:

Uncaught TypeError: Property 'alert' of object [Object Window] is not a function

我的代码是:

var shortenurl = msg.d;
alert(shortenurl);

我检查了这个值,它里面有一个字符串,而不是一个对象。

4

6 回答 6

40

在您的代码中某处您覆盖了alert. 检查var alert = ...或其他类似的声明。还要检查window.alert声明。

于 2012-07-04T19:34:01.923 回答
23

alert()由于我的弹出窗口阻止程序阻止,我收到了该错误消息。

于 2013-07-24T12:12:18.963 回答
6

我正在添加这个作为补充。就我而言,当我遇到类似的问题时,结果不是我自己的代码导致了问题,而是添加到客户端浏览器中的一个编写不佳的扩展。一旦它被禁用,脚本错误就消失了。

如果您没有在任何地方覆盖您自己代码中的方法名称,您可能需要尝试禁用扩展以查看是否有任何扩展无意中干扰了您的脚本。

于 2013-03-15T23:37:17.447 回答
2

如果需要(在 jQuery 之后),请检查您是否有 Bootstrap .js 声明,即

<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>
于 2017-07-25T12:54:30.093 回答
0

Mozilla 说,

The alert function is not actually a part of JavaScript itself.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript

您在这里看不到名为 alert 的函数:https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects

于 2014-02-20T14:27:19.270 回答
0

添加到克里斯的答案......我在自己的功能中错误地覆盖了警报!

    //Don't do this:
    function alertOrConsole(node, alert){
        if(alert){
            alert(node);
        }else{
            console.log(node);
        }
    }

   //----------------------------
   //Fixed:
    function alertOrConsole(node, flag){
        if(flag){
            alert(node);
        }else{
            console.log(node);
        }
    }
于 2019-11-07T16:06:51.187 回答