javascript - Node.js 应用程序无法在 Safari 或 Internet Explorer 中运行

标签 javascript jquery node.js internet-explorer safari

我们使用 Node.js、Javascript 和 jQuery 制作的棋盘游戏在 Chrome 和 Firefox 上都能正常运行,但它似乎无法在 Internet Explorer 或 Safari 中启动 Javascript。

这是上传版本的链接: http://burningfreak.com/zb/freelance/wordwars/

我在本地主机和网站上都试过了,我得到了相同的结果。 Chrome 和 Firefox 都很好。 IE 和 Safari 加载了 html 和 css,但大部分是空白的(包括游戏面板)。

为了让它在这些浏览器上运行,我们需要做些什么特别的事情吗?我什至不确定要查看代码的哪个区域,搜索结果也没有产生任何直接相关的内容。

最佳答案

要在 Safari 中查看导致问题的错误,您可以使用错误控制台。这在默认情况下隐藏的“开发”菜单栏菜单中可用。通过 Safari -> 首选项 -> 高级启用它,然后勾选“在菜单栏中显示开发菜单”。一个名为“开发”的新菜单出现在屏幕顶部的菜单栏中。从那里选择“显示错误控制台”,然后加载您的页面。您将看到此错误:

[错误] TypeError: 'undefined' 不是一个函数(评估 'Number.parseInt(gameData[1])') (匿名函数)(app.js,第 1042 行) 调度(jquery.min.js,第 3 行) 句柄(jquery.min.js,第 3 行) 触发器(jquery.min.js,第 3 行) (匿名函数)(jquery.min.js,第 3 行) 每个(jquery.min.js,第 2 行) 每个(jquery.min.js,第 2 行) 触发器(jquery.min.js,第 3 行) (匿名函数)(app.js,第 1018 行)

这归结为 Number.parseInt() 函数,根据 MDN ..

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/parseInt

.. 是“实验性技术”,大多数浏览器不支持。幸运的是,有一个没有“Number.”的“parseInt()”函数,它根本不是实验性的。最有可能删除“数字”。至少会很好地插入你前进:

var playerNum = parseInt(gameData[1]);

您会注意到的另一个问题是应用程序不断轮询这个不存在的 URL:

http://burningfreak.com/socket.io/?EIO=2&transport=polling&t=1406517881111-30

关于javascript - Node.js 应用程序无法在 Safari 或 Internet Explorer 中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24987965/

相关文章:

javascript - 表单提交页面刷新后显示隐藏的 div

javascript - Asmx Web服务引用问题

javascript - 生成列表中的 $_GET 在显示页面上未定义

javascript - 如何在元素输入中设置 This 而不标记 ID

mysql - TypeError : app. post(...).then 不是一个函数

node.js - meteor 错误 : Cannot find module '../build/Release/bson'

javascript - 使用java脚本将数组转换为矩阵的最简单方法

jquery - CSS 包装器 div 高度 : 100% not covering full page height

jquery - JPlayer 控件在 IE 中困惑 - 在所有其他浏览器中工作正常

node.js - pdfmake - fs.readFileSync 不是函数错误