做项目时发现在ie11下kindeditor的弹出框没有了,只有一层覆盖。
缩小的浏览器的显示比例才发现,弹出框跑到页面的左下角了。如下图
在网上找到了相应的解决办法
为了便于编辑,项目中引入的是没有压缩的kindeditor.js
打开该js
定位到如下代码处:图1
在红框中的画线的代码(作用是判断是否ie浏览器)下面添加
_IE11=_ua.indexOf('trident')>-1,
然后定位到函数 _getScrollPos的定义位置 图2
修改以上函数的if判断语句如下:
if (_IE ||_IE11|| _OPERA) {
x = _docElement(doc).scrollLeft;
y = _docElement(doc).scrollTop;
} else {
x = _getWin(doc).scrollX;
y = _getWin(doc).scrollY;
}
然后保存js刷新调用界面即可。
出现这种问题的原因是因为该版本中对是否是ie浏览器的判断,在ie11下失效了。
然后发现该版本在最新的chrome浏览器中也存在同样的问题,解决方式与上面相同,只不过是判断chrome浏览器,判断方式是判断user-agent中是否含有 chrome 字符具体如下
在图1中红框中的画线的代码(作用是判断是否chrome浏览器)下面添加
_CHROME=_ua.indexOf('chrome')>-1,注意chrome全为小写字符
然后在图2中修改
if (_IE ||_IE11|| _OPERA||_CHROME) {
x = _docElement(doc).scrollLeft;
y = _docElement(doc).scrollTop;
} else {
x = _getWin(doc).scrollX;
y = _getWin(doc).scrollY;
}
|