【发布时间】:2016-04-08 23:07:59
【问题描述】:
我有一个页面,在加载时,它会向端点发送 AJAX 调用以获取 HTML 并将该 HTML 注入页面。该 HTML 包含由 ASP.NET BundleConfig 的 @Scripts.Render() 方法生成的 <script>s。这使我们能够在 QA 和生产环境中缩小 Javascript,并在我们的本地开发环境中调试就绪的 Javascript
我的问题是我需要在页面上加载外部 Javascript 文件,一旦加载,就从该文件中运行一个函数。通常,HTML 块看起来像:
<script src="/js/file1.js" />
<script src="/js/file2.js" />
<script>
$(function(){
// function included in file2.js
myFunction();
});
</script>
我的问题是因为页面的 DOM 已经加载,Jquery 的就绪块中的myFunction(); 立即运行; file1.js 和 file2.js 仍在加载中。这显然会遇到myFunction is undefined 错误。
有没有办法在异步加载包含 Javascript 文件的 HTML 时使用 ASP.NET 的捆绑包?
【问题讨论】:
标签: javascript asp.net-mvc dom-events asp.net-bundling asynchronous-javascript