【问题标题】:Get Sencha Touch Platform Name获取煎茶触控平台名称
【发布时间】:2014-01-28 05:22:11
【问题描述】:
console.log(Ext.os.Name)

为所有浏览器打印操作系统名称(“Windows”==>在 windows 机器中),

但我想知道有没有办法获得当前的 Platform("chrome","safari","firefox","windows","ios","ios-classic")基于 sencha 当前加载的主题的值。

因为我还需要根据浏览器配置我的一些组件。

我不需要浏览器名称或操作系统名称,我需要使用的平台变量 通过 sencha 框架。就像我们使用 ios6 时一样 平台参数作为 ios-classic 我们也传递平台参数 在链接中,如http://cdn.sencha.com/touch/sencha-touch-2.3.1a/built-examples/kitchensink/index.html?platform=ios-classic#http://cdn.sencha.com/touch/sencha-touch-2.3.1a/built-examples/kitchensink/index.html?platform=windows# 这将分别加载 ios6 和 windows 主题,即使我们在任何操作系统中使用任何类型的浏览器。

【问题讨论】:

    标签: extjs sencha-touch sencha-touch-2


    【解决方案1】:

    你可以使用Ext.browser

    console.log(Ext.browser.name);
    console.log(Ext.browser.version);
    

    Ext.device 不适用于浏览器,因为它仅适用于原生打包。

    您可以通过使用 Ext.theme.name 获得应用的主题

    Ext.theme.name
    

    Sencha Touch 不直接提供他们的获取平台。你可以在 sencha\app\microloader 中检查实现

    【讨论】:

    • 我不需要浏览器名称 man,我需要 sencha 框架使用的平台变量。就像当我们使用 ios6 时,它会将平台参数作为 ios-classic 我们还在链接中传递平台参数,例如 192.168.1.242/app/?platform=ios-classic
    • 您可以通过Ext.theme.name获取应用的主题,这些获取平台在Sencha Touch中没有直接提供。你可以在 sencha\app\microloader 中检查实现
    • 它不起作用它总是返回默认值,我认为这只有在运行时通过脚本更改主题时才会起作用。
    • 它对我有用。 cdn.sencha.com/touch/sencha-touch-2.3.1a/built-examples/…> 打开 chrome 开发者工具并在控制台中尝试 Ext.theme.name 尝试通过更改浏览器查询字符串中的平台值来更改主题,然后重试 Ext.theme.name
    • 它的工作,我想我之前错过了。将此添加到您的答案中,我会将您的答案标记为正确。
    【解决方案2】:

    我在http://docs-origin.sencha.com/extjs/4.2.2/#!/api/Ext 上找到了以下配置,据我观察,我们找不到浏览器的名称,但我们可以检查它是chrome还是其他类似的...

    示例:

    console.log(Ext.isWindows); 
    
    true //because i am working in windows
    
    chromeVersion
    firefoxVersion
    ieVersion
    isChrome
    isFF10
    isFF3_0
    isFF3_5
    isFF3_6
    isFF4
    isFF5
    isGecko
    isGecko10
    isGecko3
    isGecko4
    isGecko5
    isIE
    isIE10
    isIE10m
    isIE10p
    isIE11
    isIE11m
    isIE11p
    isIE6
    isIE7
    isIE7m
    isIE7p
    isIE8
    isIE8m
    isIE8p
    isIE9
    isIE9m
    isIE9p
    isLinux
    isMac
    isOpera
    isOpera10_5   
    isSafari
    isSafari2
    isSafari3
    isSafari4
    isSafari5
    isSafari5_0
    isWebKit
    isWindows
    name
    operaVersion
    safariVersion
    

    【讨论】:

    • 我需要这个解决方案用于 sencha touch 而不是 sencha extjs
    【解决方案3】:

    在 Sencha Touch 2.3 中,Ext.device.Device 单例将为您提供有关平台的信息,Ext.device.Browser 将为您提供有关浏览器的信息。

    【讨论】:

    • Ext.device.Device 仍然返回在 windows 机器上运行的 Chrome 中的操作系统名称 linke windows 实际上我想获取 sencha touch 使用的平台参数,如 ios、ios-classic、windows 等跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-29
    相关资源
    最近更新 更多