Javascript - 未捕获TypeError:无法在'Window'上执行'getComputedStyle':参数1不是'Element'类型

时间:2016-11-19 23:10:01

标签: javascript html

我收到以下错误:

  

未捕获TypeError:无法在'Window'上执行'getComputedStyle':参数1不是'Element'类型

我遇到了Stickyfill源(https://github.com/wilddeer/stickyfill

的问题

我尝试了更多版本,但仍然遇到同样的错误。我的JavaScript源代码如下:

var a = document.getElementById('left');
Stickyfill.add(a);

为什么我收到此错误,我该如何解决?

编辑: 这是我的html页面:

    <!DOCTYPE html>
<html>
    <head>
        <title></title>
        <link rel="stylesheet" type="text/css" href="css-home.css">
        <script type="text/javascript" src="stickyfill.js"></script>
        <script type="text/javascript" src="js-home.js"></script>

    </head>
    <body>

        <div id="container">
            <div id="banner">
                <img src="sigla.jpg">
            </div>
            <div id="container2">
                <div id="left">
                    <nav>
                    <a target="ifr" href="">Home</a>
                    <a target="ifr" href="">Istoric</a>
                    <a target="ifr" href="echipa.html">Echipa</a>
                    <a target="ifr" href="">Galerie</a>
                    </nav>
                </div>
                <div id="right">

                    <iframe name="ifr" src="echipa.html" frameborder="0" ></iframe>

                </div>
            </div>
            <div id="footer">
                <p>CS MIOVENI</p>
            </div>
        </div>
    </body>

</html>

稍后编辑: 我已经使用 window.onload 解决了我的javascript文件

的问题

1 个答案:

答案 0 :(得分:0)

你能确认一下:

var a = document.getElementById('left');

在将元素传递给Stickyfill.add(a)之前实际返回一个元素? 要么单步调试还是记录,例如

var a = document.getElementById('left');
// Is an element returned?
console.log(a instanceof Element);
Stickyfill.add(a);