在部分视图上加载的脚本文件导致错误

Script file loaded on partial view causing error

本文关键字:文件 脚本 错误 加载 视图      更新时间:2023-09-26

我有一个mvc.net应用程序,在某些页面上,我通过Ajax加载部分视图,将已经呈现的部分视图返回到我的脚本中。

一切看起来都很好,但我现在面临一个问题。在我的一个局部视图中,我有一个以传统方式加载的java脚本文件。紧接着,我使用由脚本定义的类

<script src="profile.js" />
<script >
  profile.init();
<script />

当我的Ajax调用返回这些页面时,根据加载profile.ja所需的时间,不会调用init函数来表示概要文件未定义。

如果我运行这个本地程序,脚本加载的速度就足够快了,所有的东西都会执行。但是在从cloudfront加载脚本的测试环境中运行它需要更多的时间,而且函数在之前执行。

有没有一种方法,我只能在确定它已经下载后才能执行脚本。Document.ready不起作用,因为Ajax 正在加载部分视图

重要的是要说,由于我们代码中有些疯狂的东西,我不能简单地把它放在我的父页或_layout上如有任何帮助,将不胜感激

谢谢!

您可以在布局或主视图上引用profile.js,这样,当您在局部视图中调用它时,您就会知道将要定义概要文件。

创建一个布局页面,并在该页面中呈现js文件,记住在您希望加载脚本的其他页面中使用您的布局。

您可以通过调用script标记的onload中的profile.init()函数轻松完成此操作。希望这能有所帮助。

<script onload="profile.init()" src="profile.js"></script>