【问题标题】:Scala-js - Navigator.oscpuScala-js - Navigator.oscpu
【发布时间】:2016-05-24 03:27:27
【问题描述】:

你能告诉我如何使用 Scala-js 获取 Navigator.oscpu 吗?映射到本机 Navigator 似乎没有 oscpu。 https://developer.mozilla.org/en-US/docs/Web/API/Navigator/oscpu

【问题讨论】:

    标签: scala.js


    【解决方案1】:

    这似乎是 Firefox 独有的功能(基于快速浏览),因此 Scala.js 不支持开箱即用。您需要自己添加它,方法是向 Navigator 添加一个侧立面。这并不难——请参阅the definition of BeaconNavigator 了解如何执行此操作的示例。

    所以你需要类似(未经测试的):

      @js.native
      trait OSCPUNavigator extends js.Object {
        def oscpu: String = js.native
      }
    
      implicit def toOSCPUNavigator(n: Navigator): OSCPUNavigator =
        n.asInstanceOf[OSCPUNavigator]
    

    基本上,您定义一个带有oscpu 的特征,然后告诉Scala.js 如何将Navigator 视为该特征。

    请注意,它仍然只能在 Firefox 上运行。我怀疑它会在其他浏览器上抛出错误...

    【讨论】:

    • 你是对的。它仅适用于 Firefox。像这样的简单映射有效 @native trait Navigator extends Object { val oscpu:String }
    猜你喜欢
    • 1970-01-01
    • 2016-04-14
    • 2014-05-24
    • 2016-09-23
    • 2016-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多