基本上我得到以下HTML:
<button class="disabled btn-primary btn" type="submit" disabled=""> <i class="glyphicon glyphicon-ban-circle"></i> Log in </button>
在本地该图标在按钮上显示正常,但是当我在Windows Azure上运行时,出现以下带有怪异的外观前缀而不是图标的按钮:
在此处输入图片说明 考虑到这一点,我意识到当本地访问我的网站时,浏览器将尝试加载文件:/Content/fonts/glyphicons-halflings-regular.woff(成功完成),而在线(天蓝色)时,它将尝试加载以下文件:在以下位置加载:/fonts/glyphicons-halflings-regular.woff
为什么不将其/ Local前缀放在本地。
我正在使用标准的引导程序文件,它与本地和在线运行的网站完全相同。
另外,我通过以下方式捆绑内容:
bundles.Add(new StyleBundle("~/Content/bootstrapcss").Include( "~/Content/bootstrap/bootstrap.css"));
文件结构如下所示:
引导程序也在寻找这样的文件:
url('../fonts/glyphicons-halflings-regular.woff')
因此,我想它会在Content文件夹中查找,而不是root用户,因为它当前位于Content / bootstrapcss文件夹中。
最近,我们遇到了类似的问题(尽管我们使用的是metroUI-http://metroui.org.ua/)。实质上,事实证明,我们捆绑了css文件,因此,当我们在Windows Azure中部署应用程序时,没有字体被加载。
在我们的例子中,我们具有以下目录结构:
和modern.css所引用的字体如and modern.css was referencing fonts like
../fonts/iconFont.eot
并且我们像这样捆绑css文件:
bundles.Add(new StyleBundle("~/Content/css").Include( "~/Content/css/modern.css", "~/Content/css/modern-responsive.css"));
由于捆绑,应用程序正在/fonts应用程序根目录中的目录中寻找字体,而字体显然不在该目录中。
长话短说,我们最终更改了包名称:
bundles.Add(new StyleBundle("~/Content/css/metroUI").Include( "~/Content/css/modern.css", "~/Content/css/modern-responsive.css"));
更改捆绑包名称后,一切便开始正常工作。