http type中文 - 在提供JavaScript文件時,使用application / javascript還是application / x-javascript會更好




mime content-type (5)

整個問題都符合標題。 並且增加一些上下文:根據規範的說法,我沒有問什麼是最好的,而是現在部署的瀏覽器組合最好的是什麼。

一些數據點:

  • Google使用text/javascript作為主頁上使用的JS。
  • Google在Google文檔上使用text/javascript
  • Google使用application/x-javascript來為他們的Ajax庫服務提供JavaScript文件。
  • 雅虎使用application/x-javascript來為他們的JS服務。
  • 雅虎使用application/x-javascript作為其主頁上提供的JavaScript。

Answers

如果您選擇在頁面中使用js的application / javascript,IE7和IE8將不會運行您的腳本! 責備微軟所有你想要的,但如果你想讓大多數人運行你的網頁使用文本/ JavaScript。


  • text/javascript已過時
  • application/x-javascript是實驗性的,同時決定轉移到...
  • application/javascript是JS的官方MIME類型

也就是說,瀏覽器通常會忽略服務器發送的content-type ,並且注意type屬性(有些可能還不能識別application/javascript )。

我的推薦:

  • 在服務器上使用應用程序/ JavaScript
  • 使用HTML 5並從腳本元素中省略type屬性

它曾經是language="javacript" 。 然後它變成了type="text/javascript" 。 現在它是type="application/javacript" 。 好吧,這是愚蠢的。 一些較舊的瀏覽器不識別新的application/javascript ,但仍識別較舊的text/javascript 。 我打算繼續使用它,否則我會浪費好幾個小時的時間試圖將每個text/javascript實例更改為application/javascript
有一天,相反的情況可能是真的。 有一天,為了嚴格遵守標準,最新的瀏覽器可能會拒絕舊技術。
但直到觀看我的網站的人開始抱怨說:“自從升級我的瀏覽器以來,大約50%的網站消失了”,我沒有動機去改變我網站上的代碼。


它一直是“text / javascript”,但已經過時(請參閱IANA列表 ),現在它應該是“application / javascript”(請參閱另一個IANA列表 )。


簡單的解決方法

if (!String.prototype.contains) {
  String.prototype.contains= function() {
    return String.prototype.indexOf.apply(this, arguments) !== -1;
  };
}

你可以用以下方式使用

"hello".contains("he") // true
"hello world".contains("lo w")//true
"hello world".contains("lo wa")//false
"hello world".contains(" ")//true
"hello world".contains("  ")//false

MDN參考





javascript http content-type