是否有任何jquery可以检测html标记是否未关闭?或页面未完全加载

Is there any jquery to detect if the html tag was not closed? or page has not completely loaded?

本文关键字:是否 加载 jquery 任何 html 检测      更新时间:2023-09-26

我遇到了一个问题(我仍然需要修复),我的整个页面无法加载。它在元素的中间被切断。

有没有办法使用 jquery 或 javscript 来做这样的事情:

如果(某些元素尚未加载){刷新页面}

我想只是把<div id="end_of_page"></div>放在页面底部,然后检查它是否已呈现,如果没有,我会知道出了什么问题,可以重新加载以重试。

谢谢!!

有没有办法使用 jquery 或 javscript 来做这样的事情:

如果(某些元素尚未加载){刷新页面}

你可以这样做,是的。在包含jQuery之后把它放在头上:

<script>
jQuery(function($) {
    if (!$("#end_of_page")[0]) {
        // Something went wrong, load again
        location.reload();
    }
});
</script>

如果 end_of_page 元素在 jQuery ready 事件触发时(这意味着在页面加载完成时)不存在,您将进入循环的主体(因此,强制重新加载)。

但是:到目前为止,最好弄清楚为什么你的页面在中途被切断并解决这个问题。这种解决方法不是解决方案。

您可以使用

$(document).ready(function(){
    // code here
});

该代码仅在页面加载后运行。一个方便的速记是:

$(function(){
   // code here
});

假设您的 jQuery 对象是 $ .要完成您的要求,您可以在 load 函数中设置一个变量,然后使用在页面开头设置的计时器来检查它。如果不存在,请重新加载。

就个人而言,我认为您应该花一些时间来弄清楚为什么您的页面只完成了一半(Firebug 或 Chrome 检查器可能会帮助您做到这一点,这可能是您页面中的资源导致它挂起,并且由于大多数 HTTP 请求一次只发出 2 个主机名,它可能正在等待它返回,然后再获取其余的)。

可能是

服务器端问题,或者某些脚本或库正在窃取您的$(又名:"美元")。

我宁愿建议您调试代码,而不是刷新页面以尝试解决问题。

确保脚本位于文档的head中,
并且 jQuery + 您的 jQ 函数紧挨着结束</body>标记之前:

(function($){ /*your functions*/ })(jQuery);