2016-09-13 110 views
-2

我在网站上同时内联js和外部js。等待内联js加载/完成

我有问题,因为在外部js我需要变量是内联js中定义的,但令我惊讶的是外部js发生很快,并大声说我的变量未定义。

它适用于如果我使用$(document).ready(),但这对我来说已经太迟了。我需要类似的东西,但不那么“强大”,只等内联js完成,而不是等待DOM完成。

是否有函数等待内联js完成,或者至少是为了定义变量?

唯一我能想到的就是使用定时器,如果需要定义的变量定期等待,但这显然是一个难看的解决方案。

+2

为什么document.ready太迟了? –

+0

你可以在你的内联js中使用回调,或重新安排你的js的顺序。但是,在使用jQuery时,最好的做法是将代码包装在'ready'处理程序中。 – empiric

+0

对于外部JS,你指的是你拥有的外部文件,对吗?我不推荐内联JS。你能解释为什么你使用外部和内联JS? – Tom

回答

1

“内嵌JavaScript准备就绪”没有单独的事件,因为脚本标记只是一个标记,因此它可以出现在文档中的任何位置。即使在最后。所以,在我看来,你只有两种选择(一个真正的)是:

  1. 使用DOM ready事件
  2. 重新组织你的代码删除此加载时间依赖性。这让我想:不包括链接到你的外部JS只是之后你的内联块足够了吗?