2016-06-10 44 views
1

我在一家使用Typescript進行大多數新開發的商店中工作,所以我們非常習慣於使用箭頭函數等ES6功能,並通過擴展步驟使它們對Internet Explorer安全。但是這個星期我不得不編輯一個現有的js文件(它沒有轉譯)並且愚蠢地使用了一個箭頭函數。這在我的現代開發瀏覽器中運行良好,但在IE9下打破了QA。有沒有辦法警告使用IE版本不支持的JavaScript功能?

所以我知道這是我愚蠢的錯誤,但我想知道是否有工具可以警告如果功能不符合特定瀏覽器版本是用來作爲雙重檢查?如果這有一個很棒的Visual Studio集成,但我沒有任何問題,可以在我的工作流中添加命令行步驟。我看着ESHint,但沒有看到這樣的規則。

+1

IE9是一個很棒的工具,用於檢查您的腳本在IE9中是否在語法上是正確的; P – Paulpro

+0

是的很明顯,我會將IE 9包括進我的自測中。如果我可以創建一個很好的自動警告。 –

回答

-1

如果你只是說IE(我什麼都不知道打字本)和Visual Studio,您可以使用VS如下:

WinPath = System.Environment.GetEnvironmentVariable("SystemRoot") ''MsgBox(WinPath) 

    On Error Resume Next 

    Dim ver = FileVersionInfo.GetVersionInfo(WinPath & "\system32\ieframe.dll") 
    Dim IE = Val(ver.ProductVersion) ''MsgBox(IE) 

這將返回本地計算機的IE版本 - 這就是你想?

如果沒有,使用Javascript可以檢測到它正在使用這個腳本的瀏覽器:

var browser=navigator.userAgent; 
var IE=browser.search(/(MSIE ?[7891]|Trident|Edge\/)/i); //=-1: not MS 
if (IE!=-1) { 
    T=browser.substr(IE,7); 
    if (T.search(/^M/)==0) IE=parseInt(T.substr(4)); 
    else if (T.search(/^T/)==0) IE=11; 
    else IE=12; //Edge 
} 
else IE=13; //not IE,Edge 

把它放在你的onload功能,並相應地做出反應(OK,所以它只做IE版本,邊緣,或其他...但是...)

相關問題