我已将我的应用程序部署到我的 IIS 服务器。当我从 IIS 服务器浏览网页时,javascript/css 似乎可以工作(尽管某些 css 似乎也没有加载)。但是,当我转到另一台机器并从客户端查看网页时,似乎没有启用任何 Javascript。脚本的链接在那里,当我在浏览器中输入它们的路径时,我可以检索文件(所以这不是权限问题或路径问题)。是的,我正在查看页面的浏览器启用了 javascript(如果我在 Visual Studio 工作,这是我的开发机器,一切正常)。
谁能帮我弄清楚这里发生了什么?在我的开发机器上一切正常。
编辑
好的,我已经尝试了所有可以在互联网上找到的东西。我尝试添加“捆绑”模块,删除然后添加(如下所示),我尝试使用和不使用“runAllManagedModulesForAllRequests”,我尝试启用和禁用
<compilation debug="false" targetFramework="4.5" />
似乎没有任何效果。
<modules runAllManagedModulesForAllRequests="true">
<remove name="UrlRoutingModule-4.0" />
<add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />
<remove name="BundleModule" />
<add name="BundleModule" type="System.Web.Optimization.BundleModule" />
<!-- any other modules you want to run in MVC e.g. FormsAuthentication, Roles etc. -->
</modules>
我只是不明白为什么当您在服务器上本地浏览网站时 IIS7 会做一些不同的事情,而当您在不同的机器上浏览网站时会做另一件事?
编辑 2
更莫名其妙。我认为捆绑可能有问题(某些程序集未正确加载谁知道),因此为了测试理论,我注释掉了布局上的所有捆绑代码,并将其替换为样式/javascript 的硬编码链接。同样,它在开发中有效,在服务器上预览时有效,但是当您转到客户端计算机时,似乎没有任何 javascript 有效!!!我现在已经将它安装在两个不同的 IIS 服务器上......仍然是同样的问题!
编辑 3
难以置信的。看起来问题是... 鼓声。IE10。我正在使用集成身份验证,所以我只使用 IE。直到我意识到 chrome 也可以提示/传递凭据。所以我从 Chrome 打开了这个网站,没问题!我将开发机器上本地版本的 html 与来自服务器的 html 进行了比较,除了 URL 在路径中有一个额外元素(站点部署到虚拟目录)之外,html 是相同的。因此,无论出于何种原因,IE 都决定它不会从我的 IIS 服务器运行 javascript,但它会从 Internet 上的所有其他网站运行。我什至使用 fiddler 来仔细检查是否所有的 css/javascript 都被获取和接收(它们是,甚至在彻底扫描后检查临时文件夹以查看 css/js 是否已下载)。所以,像往常一样,IE 是个废话,只会引起头痛和痛苦。现在要弄清楚如何解决这个问题(我的组织是 80% 的 IE)。