getSelection / collapse Microsoft Edge

时间:2015-08-11 09:36:58

标签: javascript dojo microsoft-edge

我在一个网站上,使用旧版本的Dojo,https://dojotoolkit.org/(旧版因为它很难改变我办公室里的所有东西)。

使用Edge,我们遇到了麻烦......一个是功能“崩溃”。 我们的dojo被修改为具有“dojo.isEdge”来检测这个新的浏览器。 首先我有

if(window.getSelection && !dojo.isIE){
    var selection = dojo.global.getSelection();
    if(selection.removeAllRanges){ // Mozilla
        if(beginning){
            selection.collapseToStart();
        }else{
            selection.collapseToEnd();
        }
    }else if(dojo.isSafari) { // Safari
        // pulled from WebCore/ecma/kjs_window.cpp, line 2536
        selection.collapse(beginning);
    }
}else if(dojo.isIE){ // IE
    var range = dojo.doc.selection.createRange();
    range.collapse(beginning);
    range.select();
}

所以使用Edge它是第一部分。我们有一个错误......

不,我们有

        if(window.getSelection && !dojo.isIE && !dojo.isEdge){
        var selection = dojo.global.getSelection();
        if(selection.removeAllRanges){ // Mozilla
            if(beginning){
                selection.collapseToStart();
            }else{
                selection.collapseToEnd();
            }
        }else if(dojo.isSafari) { // Safari
            // pulled from WebCore/ecma/kjs_window.cpp, line 2536
            selection.collapse(beginning);
        }
    }else if(dojo.isIE){ // IE
        var range = dojo.doc.selection.createRange();
        range.collapse(beginning);
        range.select();
    }else if(dojo.isEdge){ // IE
        var sel = dojo.global.getSelection();
        sel.collapse(beginning);
        sel.select();
    }

... sel很好......但是,sel.collapse(开始)发送错误...“Argument obligatoire”(抱歉,这是法语,翻译是......强制性争论?).. ..但开始是定义的(并且是“真实的”)。我用true,btw,同样的错误取代了“开始”......

你知道吗?

谢谢。

0 个答案:

没有答案