小编Eya*_*yal的帖子

由于console.log,JQuery数据表在IE中崩溃了JS

我只想分享我在datatables组件中解决的错误.

显然,当datatables脚本出现问题时,它会调用_fnLog并将错误输出到控制台.

这是函数的代码:

function _fnLog(oSettings, iLevel, sMesg) {
        var sAlert = (oSettings === null) ?
            "DataTables warning: " + sMesg :
            "DataTables warning (table id = '" + oSettings.sTableId + "'): " + sMesg;

        if (iLevel === 0) {
            if (DataTable.ext.sErrMode == 'alert') {
                alert(sAlert);
            }
            else {
                throw sAlert;
            }
            return;
        }
        else {
            if (console !== undefined && console.log) {
                console.log(sAlert);
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

请注意,这里的最后几行是检查"console"是否存在,然后执行console.log操作.在IE中,除非我们运行调试器,否则控制台对象不存在.这使得发现这个bug非常困难和烦人.无论如何,你不能像那样引用"控制台".IE会毫无例外地停止脚本.你必须用"窗口"来限定它,所以正确的脚本是

if (window.console !== undefined && console.log) {
      window.console.log(sAlert);
}
Run Code Online (Sandbox Code Playgroud)

我希望这很有用,因为我只花了一个小时就可以了:)

的Eyal

jquery internet-explorer datatables

9
推荐指数
0
解决办法
2171
查看次数

使用RIA WCF项目的Silverlight无法添加常规WCF服务引用

我不知道这是一个错误/功能,但我需要找到一种方法使其工作.

要重新创建,请使用VS2012,打开一个启用了RIA服务的新SL5项目.创建另一个项目,添加一个简单的WCF服务(或启用SL的WCF)并添加一个接受或返回一个简单对象的方法(我有一个对象,其中包含一个字符串属性).尝试将其添加为SL项目的服务参考.您将在警告中收到此错误,其中包括:

自定义工具警告:未找到与Silverlight 5兼容的端点.除非通过构造函数提供端点信息,否则生成的客户端类将不可用.

并且实际上没有生成生成的代码.

我发现,如果我从服务方法中删除对象并使用简单的字符串/ int/bool,则添加引用就好了.此外,如果我将相同的服务添加到没有RIA的常规SL应用程序,一切都会像您期望的那样工作.一旦我在这个服务正在运行的应用程序上启用了RIA,并更新了服务引用,生成的代码就会再次消失.

我记得这曾经工作,因为我有使用RIA和外部WCF服务的项目.这是VS2012的新东西吗?有没有办法解决这个问题?

谢谢,

的Eyal

silverlight wcf ria visual-studio-2012

3
推荐指数
1
解决办法
2558
查看次数