对象未在本地主机中定义(Javascript),但在生产中未定义

Object undefined (Javascript) in localhost but not in production

本文关键字:Javascript 生产中 未定义 定义 主机 对象      更新时间:2023-11-09

我们在ASP.NET页面上加载了两个Javascript文件。一个是CommonUI.js,另一个是Entity.js

页面调用Entity.Js中的一个函数,该函数调用CommonUI.Js的一个功能。然而,在我的本地环境中,我收到错误"CommonUI"未定义。

在他们的生产环境中,这很好。

我已经检查了CommonUI.js是否已加载。调试它会激发Entity.js中的函数,但失败了,因为在CommonUI上调用的函数(CommonUI.WindowResize())指向一个未定义的对象。

所以我的问题是。。。为什么CommonUI没有只在本地主机中定义?

我认为您的问题可能与JS文件使用的路径有关。

您可以在页面的标题中添加对两个JS文件的引用:

<script type="text/javascript" src='<%= Page.ResolveUrl("~/js/Entity.js") %>'></script>
<script type="text/javascript" src='<%= Page.ResolveUrl("~/js/CommonUI.js") %>'></script>

如果使用母版页结构,则可能需要将引用包装在ASP占位符服务器控件中。

    <asp:PlaceHolder ID="PlaceHolder1" runat="server">
        <script type="text/javascript" src='<%= Page.ResolveUrl("~/js/Entity.js") %>'></script>
        <script type="text/javascript" src='<%= Page.ResolveUrl("~/js/CommonUI.js") %>'></script>
    </asp:PlaceHolder>