2013-10-29 34 views
4

基本上我得到了以下HTML:引導圖標在本地,但沒有加載時在線

<button class="disabled btn-primary btn" type="submit" disabled=""> 
    <i class="glyphicon glyphicon-ban-circle"></i> 
    Log in 
</button> 

本地圖標顯示細膩的按鈕,但是當我在Windows Azure上運行,我得到以下按鈕用奇怪的眼神看着前綴,而不是圖標:

enter image description here 展望這一點,我意識到,我訪問網站時,本地瀏覽器將嘗試加載該文件: /Content/fonts/glyphicons-halflings-regular.woff(它確實成功) 而在線時(在天藍色)它將嘗試加載在: /fonts/glyphicons-halflings-regular.woff

爲什麼它不放置它在本地執行的/ Content前綴。

我使用的是標準引導文件,它是完全相同的網站在本地和在線運行。

而且我捆綁內容的方式如下:

bundles.Add(new StyleBundle("~/Content/bootstrapcss").Include(
       "~/Content/bootstrap/bootstrap.css")); 

和文件結構看起來如下:

enter image description here

而且引導正在尋找像這樣的文件:

url('../fonts/glyphicons-halflings-regular.woff') 

所以我會想它會l因爲它當前駐留在Content/bootstrapcss文件夾中,所以它不在root中。

+0

您是否嘗試過修改您的css文件以指向正確的圖像?與本地環境相比,您的服務器在所需語法方面會有所不同。你的服務器上的文件夾結構是什麼? – jezzipin

+0

你是否有任何機會捆綁CSS文件? –

+0

@jezzipin 嗯,我試着將文件夾「字體」添加到根目錄,現在它工作。但是現在「fonts」文件夾既位於根目錄又位於內容中。如何從Azure中刪除文件夾?我從Visual Studio項目中刪除了該文件夾並將其發佈,但它仍在Azure上。 –

回答

12

我們最近有類似的問題(雖然我們使用metroUI - http://metroui.org.ua/)。實際上,事實證明,我們捆綁了css文件,因此當我們在Windows Azure中部署應用程序時,沒有任何字體被加載。

在我們的例子中,我們有以下目錄結構:

enter image description here

和modern.css被引用的字體一樣

../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")); 

一旦包名稱被更改,事情開始正常工作。

+0

我明白了。 我已更新我的問題,並提供有關我的包和文件位置的信息。 我知道了,就像你說的那樣,我認爲 - 仍然有問題。 它被引用的方式如下: ../fonts/glyphicons-halflings-regular.woff 所以我認爲它會看起來像一個文件夾,例如。到內容文件夾而不是根文件夾。 –

+2

嘗試將'〜/ Content/bootstrapcss'改爲'〜/ Content/bootstrapcss/bootstrap',這應該有所作爲。本質上,捆綁'bootstrapcss'成爲應用程序根目錄下'Content'文件夾中文件的名稱,尋找'Fonts'文件夾。如果css文件引用諸如「../ fonts」之類的字體,它會在Content Content文件夾之上。添加另一個名稱將使css進入「Content」文件夾,然後在那裏查找它會找到的「Fonts」文件夾。 –

+0

啊,我看到了 - 非常感謝!這解決了它! –

0

如果您已經下載了theme.zip或主題。RAR包括引導圖標,你提取沒有這樣做的:

  • 右鍵點擊壓縮包
  • 勾選「解鎖」,如果它是可見
0

對於圖標來工作 - 我必須將文件夾權限設置爲圖像所在文件夾中的「everyone = read」

0

更改路徑確實有效,但「已回答的問題」錯過了一個關鍵點。

如果您使用引用該捆綁的_Layout.cshtml,則這將不再在本地和Azure上工作。

您需要更新_Layout.cshtml頁面!

因此,如果您更改Content/cssScripts/css你的包路徑,那麼你需要改變_Layout.cshtml@Styles.Render("~/Scripts/css") respetively。

相關問題