我一直在面對這個奇怪的問題SAFARI瀏覽器的iPad和Mac機與我的應用程序(部署在IIS上)。雖然,每當我嘗試編輯Developer Tools
的Resources
選項卡中的CSS時,字體突然加載並停留。即使CSS中的單個空間編輯也會加載字體。一切工作正常Safari的Windows。iPad/Mac Safari不會加載字體
除此之外,如果我繼續在我的Safari應用程序的頁面上工作,字體將在隨機時間(時間從10秒到10分鐘或更長時間)後加載到頁面上,然後待在那裏直到緩存爲止擦掉。
我已經試過幾件事情來解決這個問題:
- 從
@font-face
聲明中刪除引號,因爲我讀過的地方,Safari瀏覽器將不會加載引號的字體。沒有成功,儘管firefox停止渲染字體,因爲引號是必要的。 - 檢查了
MIME-Type
在IIS上的.svg
文件類型。沒有成功。 - 驗證ID爲
.svg
來自字體文件的聲明。沒有成功。 - 提取
@font-face
將所有字體聲明爲獨立文件,並將其作爲<head>
標記中最上面的CSS聲明。 - 在瀏覽器被檢測爲SAFARI後嘗試移除並推入
CSS
標籤。這件事情有效,但是是一個討厭的黑客。該代碼下面引用
CODE:
var isSafari = Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0;
if (isSafari) {
if ($('#fontCss').length) {
$('#fontCss').remove();
$('head').append("<link rel='stylesheet' href='assets/css/fontAwesome/font-awesome.css'>");
alert('This is Safari');
}
}
你們可以請建議東西我可以嘗試解決這個問題。我試過用相同的字體制作測試頁面和小提琴,並在相同的設備上測試它們,一切都在演示頁面上正常工作,但與我的應用程序無關。