可以通过浏览器列表设置计算是否支持IE?

时间:2019-04-23 04:21:01

标签: browser cross-browser autoprefixer

postcss/autoprefixer中,只有Internet Explorer 10-11支持时,才需要设置grid选项。

  

网格(false |“自动放置” |“不自动放置”):Autoprefixer是否应为Grid Layout属性添加IE 10-11前缀?

如果我们事先不知道怎么办,将支持哪种浏览器?在下面的TypeScript代码中,我们需要计算isSomeVersionOfInternetExplorerSupported。我们可以检查代码内部的supportedBrowsers数组(可以是browserslist包的browserslist属性的任何有效值,例如last 1 versionnot dead等)事先不知道这个数组元素。

class BroserslistHelper {

  private supportedBrowsers: Array<string>;

  constructor(supportedBrowsers: Array<string>) {
    this.supportedBrowsers = supportedBrowsers;    
  }

  get autoprefixerSetitngs: autoprefixer.Options {
     return {
       browsers: this.supportedBrowsers,
       grid: this.isSomeVersionOfInternetExplorerSupported ? 'autoplace' : false
     }
  }

  get isSomeVersionOfInternetExplorerSupported(): boolean {

      let someVersionOfInternetExplorerSupported = false;

      this.supportedBrowsers.forEach( (browser: string) => {
          // we need to compute is something ...
      })

      return someVersionOfInternetExplorerSupported;
  }
}

如果已在数组(ie中显式设置Internet Explorer,这将很简单,但是如果我们只有>5%cover 99.5%not dead这样的浏览器,该怎么办等等?

0 个答案:

没有答案