Aloha编辑器IE8插件块错误

Aloha editor IE8 error with Plugin Block

本文关键字:错误 插件 IE8 编辑器 Aloha      更新时间:2023-09-26

我需要帮助与一个错误,我有插件块

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

中出现这个错误后

JScript: 'Console' is undefined

和编辑的行为是奇怪的。

我试图在谷歌上找到解决这个问题的方法,但是我没有运气。

Aloha.jQuery('.variable').alohaBlock();
有人能帮我一下吗?

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

摘自HTML5样板。只需在添加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;
        }
    }
}());

console对象在较旧的浏览器中不可用。这个插件可能在代码的某个地方使用console.log()console.error()进行调试。

你可以为这些做一个空的实现,以确保它在旧的浏览器中不会被破坏:

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