前端判断页面是否加载完成后,执行事件

今天就碰到一个问题,页面很长,并且有点击滑动的效果,这个时候用this.$nextTick,它可能就会遇到页面未加载完成就开始执行了,就不能满足页面完全加载完才执行
这个时候就可以通过定时器来判断document.readyState的状态来执行事件

  mounted() {
    
      this.$nextTick(() => {
      
      });
    },
var _this = this
var timer = setInterval(function () {
    // 判断文档和所有子资源(图片、音视频等)已完成加载
    if (document.readyState === 'complete') {
        //执行方法
        _this.fn()
        window.clearInterval(timer)
    }
}, 1000)
这个里面要注意this的问题

document.readyState的MDN文档可以参考一下https://developer.mozilla.org/zh-CN/docs/Web/API/Document/readyState

### 回答1: 你可以使用 JavaScript 来获取页面加载完毕后的内容。下面是一种方法: 1. 在 HTML 页面中,添加一个 JavaScript 函数,该函数将在页面加载完毕后运行: ``` <body onload="myFunction()"> ``` 2. 在 JavaScript 中,使用 `document.getElementById` 或其他 JavaScript 方法获取你想要的元素: ``` function myFunction() { var element = document.getElementById("myElement"); // Do something with the element } ``` 3. 如果你想获取整个页面的内容,可以使用 `document.body.innerHTML` 方法: ``` function myFunction() { var content = document.body.innerHTML; // Do something with the content } ``` 请注意,如果页面包含大量内容,获取整个页面的内容可能会导致性能问题。 ### 回答2: 在PHP中,无法直接获取页面加载完毕后的内容,因为PHP是在服务器端执行的语言,所以它在页面加载完毕后就已经完成了任务并将结果返回给客户端。但是,我们可以通过其他方式获取页面加载完毕后的内容。 一种方法是使用JavaScript中的Ajax技术来异步请求服务器端获取最新的内容。在页面加载完成后,可以使用JavaScript事件监听器来触发Ajax请求,从而获取更新后的页面内容。通过这种方式,我们可以在页面中动态显示最新的内容。 另一种方法是使用JavaScript的Document对象的readyState属性来检测页面加载状态。当readyState属性的值为"complete"时,表示页面已经加载完毕。在PHP中,可以通过JavaScript内嵌在HTML代码中的方式,使用document.readyState属性来判断页面是否加载完毕,当页面加载完毕后,我们可以执行一些后续的操作,比如获取页面中的元素内容等。 总之,PHP本身无法直接获取页面加载完毕后的内容,但可以通过JavaScript前端技术实现在加载完毕后获取最新的内容。 ### 回答3: 在PHP中,无法直接获取页面加载完毕后的内容,因为PHP是服务器端语言,负责生成HTML页面并发送给客户端。一旦PHP代码生成HTML页面并发送给客户端,它的任务就结束了,无法直接感知客户端页面加载的状态。 不过,可以通过一些其他的方法来实现类似的功能。其中一个常见的方法是使用JavaScript来检测页面加载状态。在页面加载完毕后,通过JavaScript发送一个异步请求给服务器端,请求需要的内容。服务器端可以使用PHP处理这个请求,并返回所需的内容。 具体实现步骤如下: 1. 在页面中嵌入带有JavaScript代码块的HTML文件。 2. 在JavaScript代码块中,使用window.onload事件监听页面加载完成事件。 3. 当页面加载完成后,使用XMLHttpRequest对象发送异步请求给服务器端。 4. 服务器端接收到该请求后,使用PHP代码处理请求,并返回所需的内容。 5. JavaScript代码通过XMLHttpRequest对象接收到服务器端返回的内容,处理并显示在页面上。 需要注意的是,这种方法依赖于客户端的浏览器支持JavaScript,并且需要在页面加载完成执行相应的操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值