• document.body为空或不是对象或者为什么获取不到document.documentElement.scrollHeight的值


    当我们在<head></head>标记之间的script中,引用document.body时,会出现document.body为空或不是对象,这时可将js代码移至<body></body>标签之间,该问题即可解决。

     
     
    下面说说将js代码放在<head></head>和<body></body>的区别:

    放在head中的JS代码会在页面加载完成之前就读取,而放在body中的JS代码,会在整个页面加载完成之后读取。

    那么有什么用途呢?

    这就告诉我们,如果我们想定义一个全局对象,而这个对象是页面中的某个按钮(诸如此类)时,我们必须将其放入body中,道理很明显:如果放入head,那当你定义的时候,那个按钮都没有被加载,你能得到的只可能是一个undefind

    同理,这也是为什么document.documentElement.scrollHeight 总是为0的原因,也是document.body 报错的原因

    获取页面的高度:

    function getPagearea(){
        if (document.compatMode == "BackCompat"){
          return {
             Math.max(document.body.scrollWidth,
                    document.body.clientWidth),
            height: Math.max(document.body.scrollHeight,
                    document.body.clientHeight)
          }
        } else {
          return {
             Math.max(document.documentElement.scrollWidth,
                    document.documentElement.clientWidth),
            height: Math.max(document.documentElement.clientHeight,
                    document.documentElement.scrollHeight)
          }
        }
      }

  • 相关阅读:
    js 前端开发 编程 常见知识点笔记
    重置 PowerShell 和 cmd 设置 样式 为系统默认值 powershell windows10
    useMemo和useCallback的区别 及使用场景
    数组去重,利用 ES6 的 reduce() 方法 和 include 判断 实现
    Java 中 Lombok 的使用,提高开发速度必备
    记录 windows 系统常用的 CMD 命令
    React Native 的 FlatList 组件 实现每次滑动一整项(item)
    Spring------mysql读写分离
    Webservice与CXF框架快速入门
    quartz
  • 原文地址:https://www.cnblogs.com/xiamicomeon/p/4350803.html
Copyright © 2020-2023  润新知