如何确保在AJAX请求后完成渲染

如何确保在AJAX请求后完成渲染,ajax,Ajax,在AJAX请求下载html片段后,下载完成后,xmlhttp.readyState转到4。看起来readyState==4对浏览器呈现下载内容的进度没有任何说明(imo也应该没有说明) 因此,如果我的JS在开始使用下载的html之前只依赖readyState==4,那么当JS开始执行时,我很有可能得到“which_var is undefined”。我不想那样 如何确定浏览器何时完成渲染 我没有使用jquery或任何其他框架 显示问题的测试用例:当出现短页面时,按下左侧菜单框中的任一绿色按钮(标

在AJAX请求下载html片段后,下载完成后,xmlhttp.readyState转到4。看起来readyState==4对浏览器呈现下载内容的进度没有任何说明(imo也应该没有说明)

因此,如果我的JS在开始使用下载的html之前只依赖readyState==4,那么当JS开始执行时,我很有可能得到“which_var is undefined”。我不想那样

如何确定浏览器何时完成渲染

我没有使用jquery或任何其他框架

显示问题的测试用例:当出现短页面时,按下左侧菜单框中的任一绿色按钮(标记为“所有选项”和“观察列表”)。重复几次,问题就出现了。如果页面看起来好像挂起了,请关闭其选项卡并在新选项卡中打开

使用Firebug/FF查看页面上的错误;我不要求在任何其他浏览器中运行


第一次加载此页面时,您可能会看到一些介绍材料。使用左侧菜单框中的“隐藏介绍”/“隐藏帮助”未着色按钮关闭介绍框。控制台上的错误消息类似于“cx_usrname未定义”。(此页面上还显示了另一个错误:“未处理的异常…”这是另一个我还不担心的问题。)

设置一个函数,该函数在启动与站点交互的所有密集内容之后运行。即,在应用程序首次运行时隐藏“开始”按钮,然后在所有其他代码运行后通过函数调用启用它

你能给我们一个显示问题的测试用例吗?我不确定浏览器在执行JS之前是否需要渲染任何内容。一个更好的问题是如何将“下载的HTML”(文本字符串)转换为DOM。是的,没错:“下载的HTML”是我知道的唯一描述它的方法。我真正的意思是“当DOM知道呈现的页面时”,但我不知道如何以这种方式提问。感谢您的回答,但我正在寻找一种方法来知道何时运行“所有其他代码”。