我正在尝试设置网站,以便通过javascript加载主要区域中的内容(某些页面需要一段时间才能呈现)。但是,在使用jQuery.load(),jQuery.getScript和jQuery.ajax()时,我遇到了一个逻辑问题。

我需要能够通过getScript加载某些javascript文件,以便可以在加载的内容中使用这些函数等。

  • index.php-显示的主文件(还包含#loading)
  • js / script.js-包含加载代码的文件
  • js / *。js-加载后我需要能够在#maincontent内部使用的几个javascript文件
  • load.php-文件正在加载到#maincontent

    script.js: 通用标签

    如您所见,我正在尝试先加载load.php,而没有任何URL参数和用户的任何交互。尽管load.php每次都能正确加载,但对于javascript代码却不能这么说。有时它可以工作,有时我必须刷新页面几次才能得到一个干净的控制台(没有错误)。

    控制台中的错误提示我,在load.php中使用js代码之前未正确加载该代码。如果load.php需要一段时间(使用PHP sleep(5)函数测试),则尤其如此。

    让我知道我是否需要澄清一下:)

有帮助吗?

解决方案

您不应真正使用getScript加载所有这些脚本。您每次都将需要其中一些(或全部?),所以为什么不将它们包括在页面中呢?另外,由于您使用的是jquery来加载jquery,因此我要说您已经在页面中包含了它。因此,请勿尝试再次加载它。

其他提示

如果问题是加载的时间安排,则应考虑使用具有延迟行为的最新版本的jQuery。

例如,您可以这样做: 通用标签

这将等到所有getScript调用返回,然后再对load.php进行ajax调用(否则,如果以上方法之一失败,它将触发handleErrorsFunction()。)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top