带有基本 jQuery 的未定义类型错误“defaultView”

Posted

技术标签:

【中文标题】带有基本 jQuery 的未定义类型错误“defaultView”【英文标题】:Undefined Type Error "defaultView" with basic jQuery 【发布时间】:2011-03-27 23:49:52 【问题描述】:

我正在尝试仅使用原始 jQuery v1.5.1(以下脚本)构建一个基本的调整大小脚本。由于某种原因,它会引发以下错误并且不会继续运行脚本。

正在使用 Chrome、Mac OSX 进行测试

错误 Uncaught TypeError: Cannot read property 'defaultView' of undefined

代码:

$(document).ready( function() 
    /* Set initial #site width */   
    stretch_portal_content();
    $(window).resize( stretch_portal_content );
);


function stretch_portal_content() 
    alert($('#site').width());
    $('#left-container').width(
        $('#site').width()-150
    );

    if ($(window).height() > $('body').innerHeight())
        $('#site').height(
            $(window).innerHeight()
        );
    


示例 html

<!DOCTYPE html5>
<html>
    <head>
        <title></title>
        <link media="screen" rel="stylesheet" href="style.css" />
    </head>
    <body>
        <div id="site">
        <div id="left-container">
            <div class="inner">
                <ul id="grid">
                    <li>Story 1</li>
                    <li>Story 2</li>
                    <li>Story 3</li>
                    <li>Story 4</li>
                    <li>Story 5</li>
                </ul>
            </div>
        </div>
        <div id="right-container">
            <ul id="category-list">
                <li><a href="#">Category 1</a></li>
                <li><a href="#">Category 2</a></li>
                <li><a href="#">Category 3</a></li>
                <li><a href="#">Category 4</a></li>
                <li><a href="#">Category 5</a></li>
                <li><a href="#">Category 6</a></li>
                <li><a href="#">Category 7</a></li>
            </ul>
        </div>
        <div class="clear"></div>
    </div>
    <script type="text/javascript" src="javascript/jquery.js"></script>
    <script type="text/javascript" src="javascript/core.js"></script>
</body>
</html>

【问题讨论】:

您能否添加示例 HTML 以便我们对其进行测试?还有什么浏览器会出现这个错误? 我已经确定它在第一次运行代码运行时低于或包含“if”语句。 好吧,我知道这不是最好的表达方式。那么没有插件的jQuery呢? 您的 HTML 没有&lt;/html&gt; 你不应该像那样放弃。它不仅丑陋,而且不是标准的 Javascript,也没有得到普遍支持(据我所知)。 【参考方案1】:

Inner Height Documentation

问题是 innerHeight 函数不适用于窗口对象。改用高度。

【讨论】:

以上是关于带有基本 jQuery 的未定义类型错误“defaultView”的主要内容,如果未能解决你的问题,请参考以下文章

带有 JsonpModule 的未定义导入错误 Angular 2

来自 GCC 的未定义参考错误使用带有 std::vector 和特征矩阵的模板?

带有循环和字符串选择器的未定义 ajax 帖子

基本处理形式ReactJs中的未定义输入错误

*可能的未处理承诺拒绝(id:0):类型错误:未定义不是对象(评估'result.cancelled')云图像上传

带有 CarrierWave 的“NilClass:Class 的未定义方法‘model_name’”