May29

【原创】CodeMirror中使用shell库ie不兼容解决方案

Author: leeon  Click: 10522   Date: 2012.05.29 @ 20:42:07 pm Category: javascript

最近需要在项目中使用在线HTML编辑器编辑shell脚本,找了几个开源的js库发现codemirror非常轻量级且好用,最近的版本中已经加入了shell的支持,并且支持绝大多数主流的编程语言。但是在ie下调用codemirror提供的shell.js脚本库的时候无法正常使用,调试bug发现都卡在atoms.indexOf这个方法上。


if (stream.peek() === '=' && /\w+/.test(cur)) return 'def';
if (atoms.indexOf(cur) !== -1) return 'atom';
if (commands.indexOf(cur) !== -1) return 'builtin';
if (keywords.indexOf(cur) !== -1) return 'keyword';

搜索了下发现是ie下对数组不能直接使用indexof方法,于是借鉴此文:

http://blog.csdn.net/x123jing/article/details/7064312

的方法在代码头部加上了:


if(!Array.indexOf)
{
Array.prototype.indexOf = function(obj)
{
for(var i=0; i<this.length; i++)
{
if(this[i]==obj)
{
return i;
}
}
return -1;
}
}

于是问题解决,ie,ff,chrome都能正常使用了!



TAG:   javascript codemirror array indexof

    评论
    • 提交

    分类

    标签

    归档

    最新评论

    Abyss在00:04:28评论了
    Linux中ramdisk,tmpfs,ramfs的介绍与性能测试
    shallwe99在10:21:17评论了
    【原创】如何在微信小程序开发中正确的使用vant ui组件
    默一在09:04:53评论了
    Berkeley DB 由浅入深【转自架构师杨建】
    Memory在14:09:22评论了
    【原创】最佳PHP框架选择(phalcon,yaf,laravel,thinkphp,yii)
    leo在17:57:04评论了
    shell中使用while循环ssh的注意事项

    我看过的书

    链接

    其他

    访问本站种子 本站平均热度:8823 c° 本站链接数:1 个 本站标签数:464 个 本站被评论次数:94 次