获取煎茶触控平台名称

Posted

技术标签:

【中文标题】获取煎茶触控平台名称【英文标题】: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 主题,即使我们在任何操作系统中使用任何类型的浏览器。

【问题讨论】:

【参考方案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 等跨度>

以上是关于获取煎茶触控平台名称的主要内容,如果未能解决你的问题,请参考以下文章

煎茶触控显示卡

煎茶触控本地化

压缩煎茶触控 App

添加列表到煎茶触控面板

面板的煎茶触控列表

煎茶触控面板变暗