如何修复TypeError:window.getComputedStyle(...)在firefox中为null?

时间:2017-09-09 04:50:52

标签: javascript jquery html5

我使用zepto进行拖动和交换它在chrome中完美运行但在firefox中显示错误。下面是dragswap脚本中显示错误的部分。请帮忙。提前致谢

 `; (function ($) {
        $.fn.dragswap = function (options) {
            var dragSrcEl;
            function getPrefix() {
                var el = document.createElement('p'),
                getPre, transforms = {
                    'webkitAnimation': '-webkit-animation',
                    'OAnimation': '-o-animation',
                    'msAnimation': '-ms-animation',
                    'MozAnimation': '-moz-animation',
                    'animation': 'animation'
                };
                document.body.insertBefore(el, null);
                for (var t in transforms) {
                    if (el.style[t] !== undefined) {
                        el.style[t] = "translate3d(1px,1px,1px)";
                        // if(window.getComputedStyle && (style = window.getComputedStyle(element, null)) !== null) 
                             getPre = window.getComputedStyle(el).getPropertyValue(transforms[t]);
                        // return the successful prefix
                        return t;
                    }
                }

                document.body.removeChild(el);

            }

1 个答案:

答案 0 :(得分:5)

Firefox有一个错误,如果该元素为"display: none",则window.getComputedStyles将返回null

以下是我发现这些知识的地方,它修复了我的第三方代码中的错误。注意在我的例子中,元素也是一个iFrame https://github.com/marcj/css-element-queries/issues/148