Aloha编辑IE8错误与插件块

时间:2014-05-28 15:15:17

标签: javascript jquery aloha-editor

我需要帮助解决插件阻止时出现的一个错误。

我有两个编辑器 Aloha ,我在第一个编辑器中定义了一个Block(span),最后我想将这个块拖放到第二个编辑器,我可以做到但是之后我在 IE8

中出现此错误
  

JScript:'控制台'未定义

并且编辑器的行为很奇怪。

我试图在谷歌找到解决方案,但我没有运气。

Aloha.jQuery('.variable').alohaBlock();

有人可以帮帮我吗?

2 个答案:

答案 0 :(得分:0)

console对象在旧版浏览器中不可用。此插件可能在代码中的某处使用console.log()console.error()进行调试。

你可以做一个空的实现,以确保它在旧的浏览器中不会中断:

if (!console)
{
    console.log = function(){};
    console.error = function(){};
}

答案 1 :(得分:0)

您可以尝试定义控制台功能,这样就不会因为控制台不可用而导致错误 。但是因为它试图写入控制台,我假设可能会有一个错误,它试图告诉你。

取自HTML5 Boilerplate。只需在添加Aloha之前放置此自执行功能(最好在添加任何javascript之前,这应该是第一个)。

// Avoid `console` errors in browsers that lack a console.
(function() {
    var method;
    var noop = function () {};
    var methods = [
        'assert', 'clear', 'count', 'debug', 'dir', 'dirxml', 'error',
        'exception', 'group', 'groupCollapsed', 'groupEnd', 'info', 'log',
        'markTimeline', 'profile', 'profileEnd', 'table', 'time', 'timeEnd',
        'timeStamp', 'trace', 'warn'
    ];
    var length = methods.length;
    var console = (window.console = window.console || {});

    while (length--) {
        method = methods[length];

        // Only stub undefined methods.
        if (!console[method]) {
            console[method] = noop;
        }
    }
}());