如何解决IE10下CkEditor报 --- SCRIPT5007: 无法获取未定义或 null 引用的属性“toLowerCase” 错误

  如果你的IE是IE10,且不是运行在IE的兼容模式你也许会遇到一个奇葩的问题——SCRIPT5007: 无法获取未定义或 null 引用的属性“toLowerCase” 错误,但是项目又要求必须在IE10的环境下运行。那么,你可以参考下,我是如何解决这个问题的。

--1--出现的错误信息:

[原创]如何解决IE10下CkEditor报 --- SCRIPT5007: 无法获取未定义或 null 引用的属性“toLowerCase”-LMLPHP

--2--点击查看错误源:

[原创]如何解决IE10下CkEditor报 --- SCRIPT5007: 无法获取未定义或 null 引用的属性“toLowerCase”-LMLPHP

而这时,查看W3CShool又发现toLowerCase为JavaScript中的方法

[原创]如何解决IE10下CkEditor报 --- SCRIPT5007: 无法获取未定义或 null 引用的属性“toLowerCase”-LMLPHP

--3--做出推断:

      s.$.scopeName未定义或者为空

--4--解决方案:

  首先:如何在JavaScript中判断变量是未定义

    typeof(TheValue) == 'undefined'

      如何在JavaScript中判断变量是null

    !!(TheValue)

  然后在做如下处理:使为空或未定义时,不走该if条件语句

if(c && s.$.scopeName!='HTML' && typeof(s.$.scopeName) != 'undefined' && !!s.$.scopeName) 
  t=s.$.scopeName.toLowerCase()+':'+t;

改完之后,如果还有其他的类似问题,一样处理

更新

突然发现可以这样处理( TheValue || "") 或  !!s.$.scopeName (因为 undefined 和 null 类型的 bool 类型均为 false)

05-08 08:11