繁体   English   中英

脚本文件加载到局部视图上导致错误

[英]Script file loaded on partial view causing error

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

一切看起来不错,但我现在面临一个问题。 在我的部分视图中,有一个以常规方式加载的Java脚本文件。 之后,我正在使用该脚本定义的类

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

当我的Ajax调用返回了返回的页面时,根据profile.ja的加载时间,未调用初始化函数说明该配置文件未定义。

如果我在本地运行该脚本,则脚本加载速度足够快,并且一切都会执行。 但是,在从Cloudfront加载脚本的测试环境中运行它会花费更多时间,并且该函数之前已经执行。

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

重要的是要说,由于我们代码中有些疯狂的事情,我不能仅将其简单地放在父页面或_layout上,将不胜感激

谢谢!

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM