在做一个SplitPanel的功能的时候,在IE和FF下运行正常,但是在Chrome下运行效果很诡异。
经过调试,发现是在webkit下取得dom元素margin-right的时候取值错误,google一番,找到下面几个结果:
-
https://mootools.lighthouseapp.com/projects/2706/tickets/703-getcomputedstyle-and-margin-right-in-webkit
-
https://bugs.webkit.org/show_bug.cgi?id=13343
看来这是webkit本身的一个bug,从07年report,到现在依然没有fix掉。
经过第一个链接的提示,把getStyle方法重构成如下代码:
function getStyle(element, styleName){
var el = DomHelper.get(element);
if (!el || !styleName) return null;
styleName = blade.String.toCamel(styleName);
if (styleName == "float") {
styleName = "cssFloat";
}
var display, mr = false;
try {
if(styleName == "marginRight"){
mr = true;
display = el.style.display;
el.style.display = "inline-block";
}
var computed = document.defaultView.getComputedStyle(el, '');
return el.style[styleName] || computed ? computed[styleName] : null;
} catch(e) {
return el.style[styleName];
} finally{
if(mr){
el.style.display = display;
}
}
}
Ok,问题暂时解决,至此结束。
分享到:
相关推荐
浏览器内核开发,WebKit.net是对WebKit的.Net封装,使用.net程序可以非常方便的集成和使用webkit作为加载网页的容器。
qtwebkit-Windows-Windows_7-Mingw73-Windows-Windows_7-X86.7z qtwebkit-Windows-Windows_10-Mingw73-Windows-Windows_10-X86_64.7z qtwebkit-Windows-Windows_10-MSVC2017-Windows-Windows_10-X86.7z qtwebkit-...
离线安装包,亲测可用
后来发现代码里写的好好的,一到页面上居然没有反应,和没写一个样,f12看了下,原来是-webkit-box-orient: vertical;这个属性丢失,导致了不生效,在Styles里把这个属性加上就好了,于是断定是编译过程导致这个属性...
ios-webkit-debug-proxy-1.9.0-win64-bin
node-webkit-v0.9.2-linux-x64.tar.gz老版本的mode-webkit安全包,linux 系统下面的.
WebKit.NET-0.5-Chrome的内核WebKit的NET版.zip
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
-webkit-border-top-rightright-radius: 3px; -webkit-border-bottom-rightright-radius: 6px; -webkit-border-bottom-left-radius: 10px; -moz-border-radius-topleft: 4px; -moz-border-radius-topright: 3px...
webkit-ubuntu-20.04
qtwebkit-opensource-src-5.6.3源码,可以在windows、linnux用qt编译安装
c# webkit资源包
光荣-lightdm webkit2主题时尚,现代,美化的lightdm webkit2主题演示密码: toor 光荣-lightdm webkit 2主题依存关系请确保您没有这些的古老版本。 lightdm lightdm-webkit2-greeter安装如果您使用的是systemd ,请...
Linux7安装teamviewer_13或teamviewer_14版本缺少qt5-qtwebkit包,可使用rpm -ivh qt5-qtwebkit-5.6.2-1.el7.x86_64.rpm --nodeps安装qt5包,在安装teamviewer即可。 error: Failed dependencies: libQt5WebKit.so....
margin-right:10px; font-size:11px } .ui-multiselect-filter input { width:100px; font-size:10px; margin-left:5px; height:15px; padding:2px; border:1px solid #292929; -webkit-appearance:textfield; -...
(lightdm-webkit-theme-aether) 受到对空间的终生热爱的启发。 一个光滑,简单的Archlinux主题登录屏幕,写在lightdm和lightdm-webkit2-greeter上。 目录 使用自己的墙纸 修改日期和时间格式 故障排除 我的...
WebKit-SVN-r38240.zip WebKit-SVN-r38240.zip WebKit-SVN-r38240.zip