Javascript jQuery在页面完成加载之前执行,即使I';我使用$(window).on(';load';,function()

Javascript jQuery在页面完成加载之前执行,即使I';我使用$(window).on(';load';,function(),javascript,jquery,Javascript,Jquery,我试图从chrome扩展中获取一些信息,但我遇到的问题是,jQuery在网页加载完成之前就加载了。当我在打开Inspect时刷新网页时,它工作得很好(我假设这会使网页加载时间更长)但是,否则我无法刮取数据,它将返回空白。是否有任何方法可以确保始终首先加载数据 $(window).on('load', function() { var worldRecord = $('.nobr.center.hidden-xs').text(); alert(worldRecord); });

我试图从chrome扩展中获取一些信息,但我遇到的问题是,jQuery在网页加载完成之前就加载了。当我在打开Inspect时刷新网页时,它工作得很好(我假设这会使网页加载时间更长)但是,否则我无法刮取数据,它将返回空白。是否有任何方法可以确保始终首先加载数据

$(window).on('load', function() {
    var worldRecord = $('.nobr.center.hidden-xs').text();
    alert(worldRecord);
});
编辑:我也试过了,得到了同样的结果

$(document).ready(function() {
  var worldRecord = $('.nobr.center.hidden-xs').text();
  alert(worldRecord);
});

将您的代码放入
文档中。准备就绪

$(function() {
   var worldRecord = $('.nobr.center.hidden-xs').text();
   alert(worldRecord);
});
尝试使用$(文档)编辑此文件。准备好了吗

当所有资产(包括图像)都完成加载时,会调用Load。但当DOM准备好进行交互时,会触发ready

参考文献

$(文档).ready(函数(){
var worldRecord=$('.nobr.center.hidden xs').text();
警报(世界纪录);
});

排行榜数据似乎是使用ajax加载的。您是否尝试过使用.ajaxSuccess()或.ajaxComplete()而不是.ready?

请检查一下您是否获得了未定义的美元, 使用不同的JQUERY实例,如

jQuery(document).ready(function() {
  var worldRecord = jQuery('.nobr.center.hidden-xs').text();
  alert(worldRecord);
});

我发现了一个解决方法,因为在ajax完成后加载似乎不起作用

$(document).ready(function() {
    setTimeout(function() {
        var worldRecord = $('.nobr.center.hidden-xs').text();
        alert(worldRecord);
    }, 1000);
});

将您的代码放入文档中。Ready这是我在将其切换到Windows之前最初尝试的方法。我不确定为什么这两种方法都不起作用:LI已经用更多信息编辑了答案,这可能会对您有所帮助。不幸的是,该网站太大,发布整个代码是不现实的。如果您单击指向该网站的链接并检查(F12)您可以查看该网站的HTML。当我使用document.ready时,我得到了相同的结果。是否有其他方法使其稍后加载?我已尝试使用.ajaxComplete()根据文档,现在警报将不会弹出。你认为它正在无限加载ajax,因此它不会加载警报吗?我可以看到ajaxSuccess事件触发。你也测试过吗?我也尝试过ajaxSuccess,但它不起作用。我找到的唯一解决方案是SetTimeOut。我刚刚尝试过这个,结果是相同的不幸的是,当我使用$时,结果是。似乎有某种方法实际上并没有完成加载。对于调试,请在文档准备就绪时尝试纯
alert('abc');
,而不是使用
jQuery('.nobr.center.hidden xs')。text();alert(worldRecord)
如果再次出现“未执行”警报,则应该是浏览器问题,请尝试其他浏览器。它发出警报,但警报为空,因为它是在表加载到页面上之前加载的。我假设
jQuery('.nobr.center.hidden xs')。text();
有一些数据表正在使用ajax或类似源加载,因此数据加载很晚。在这种情况下,如果
div
不为空,则尝试获取该状态,然后使用
警报(worldRecord);