我运行2个脚本。 1是外部的,我需要先运行它。第二个是内联的,我需要它第二个才能运行。我已经读过,无论如何,浏览器将根据它们在代码中的位置以正确的顺序运行它们,但事实并非如此。我在每个脚本的前面都放置了一个唯一的console.log(),以查看它们何时运行,以及外部脚本之后的内联脚本,但控制台每次都会显示内联脚本首先运行。如果我将第二个脚本放到外部源中,它们将正确运行。不过,对我来说保持内联比较容易。为什么它不起作用?我如何确保先运行外部设备?
<script src="myurl.com/firstfile.js"></script> <!-- contains console.log("1st script") -->
<script type="text/javascript">
console.log("2nd script");
//trying to get variable from firstfile.js but doesn't work for me because it is running second
</script>
当我第二次运行它时,它确实起作用了,因为然后加载了我需要的变量。每次运行后都可以。也许是因为该变量是一个较大的json表,它需要更长的时间,但不应这样做。
答案 0 :(得分:0)
根据您的代码笔代码,您正确无误。只是为了确保您可以更改控制台日志之一。
StreamBuilders
如您所见,它确实有效。只需打开您的开发人员控制台并运行代码即可。您将在外部脚本中看到“请工作”,在内联脚本中看到“请工作#2”。