`

解决extjs不能在android8.0上打开的问题

 
阅读更多

sencha extjs 6.5.3版本已解决此问题

原因

Android 8.0 的 浏览器 UserAgent 如下:

写道
Mozilla/5.0 (Linux; Android 8.0.0; Pixel C Build/OPR1.170623.026; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/62.0.3202.84 Safari/537.36

 Sencha Touch / ExtJS 6 的浏览器识别逻辑,把它认为了是 Opera 浏览器,因为 Sencha 的判断逻辑如下:

 

    if (userAgent.match(/FB/) && browserName === 'Other') {
        browserName = browserNames.safari;
        engineName = engineNames.webkit;
    }
    if (userAgent.match(/Android.*Chrome/g)) {
        browserName = 'ChromeMobile';
    }
    if (userAgent.match(/OPR/)) {
        browserName = 'Opera';
        browserMatch = userAgent.match(/OPR\/(\d+.\d+)/);
        browserVersion = new Ext.Version(browserMatch[1]);
    }

 需要修改成这样

 

 

    if (userAgent.match(/FB/) && browserName === 'Other') {
        browserName = browserNames.safari;
        engineName = engineNames.webkit;
    }
    if (userAgent.match(/Android.*Chrome/g)) {
        browserName = 'ChromeMobile';
    }
    // bug fix: Android Oreo Chrome Browser detected as Opera
    else {
        browserMatch = userAgent.match(/OPR\/(\d+.\d+)/);
        if (browserMatch) {
            browserName = 'Opera';
            browserVersion = new Ext.Version(browserMatch[1]);
        }
    }

 需要修改好几个文件

 

yourApp\ext\build\ext-all-debug.js
yourApp\ext\build\ext-modern-all-debug.js
yourApp\ext\packages\core\src\env\Browser.js

分享到:
评论

相关推荐

    100行代码解决ExtJs4.1合并单元格问题

    100行代码解决ExtJs4.1合并单元格问题

    extJS4升级至extJS6.6所遇问题及解决方案

    项目进行前端框架升级——extJS 4升级至extJS6.6所遇的一些问题及相对应的解决方案建议

    解决extjs API文档不断Loading

    清理浏览器缓存和Cookie,然后重新加载页面,看看是否能解决问题。 4. **本地XHR问题**: 文件“localXHR.js”可能是ExtJS用于处理本地数据请求的组件,如果这个文件出现问题,可能会导致文档加载异常。检查该文件...

    extjs单元格无法复制

    ExtJS GridPanel 单元格无法复制问题解决方案 ExtJS 是一个功能强大的 JavaScript 框架,广泛应用于 Web 开发中。但是,在使用 ExtJS 的 GridPanel 组件时,可能会遇到单元格无法选中复制的问题,特别是在 IE ...

    解决Extjs3.0不兼容IE9

    项目中遇到Extjs3.0在IE9中不兼容,现有两种解决方法

    Extjs grid 中文排序问题修正

    中文排序问题通常出现在以下情况:EXTJS Grid默认的排序算法可能无法正确处理UTF-8编码的中文字符,因为中文字符的排序不能简单地通过ASCII值来比较。为了解决这个问题,我们可以自定义排序函数。 自定义排序函数的...

    extJs3升级extjs4方案

    ExtJS3 升级到 ExtJS4 需要修改大量代码,主要是因为 ExtJS4 配备了一类新的系统,不向后兼容。在 ExtJS 3 里生成表的几个框架组件,ExtJS4 大多生成 div,这使得 CSS classes 将会失败。ExtJS4 已完全重新写 grid ...

    extjs流程界面设计器参考_ExtJS工作流设计器_extjs工作流_extjs_

    8. **验证**:设计的流程图可能需要遵循特定的规则,如不能形成循环。ExtJS的事件和数据验证机制可以用于实现这些逻辑。 9. **集成与部署**:设计完成后,工作流需要与后端系统集成,执行实际的业务逻辑。这通常...

    人人都玩开心网 ExtJS Android.SSH整合开发Web与移动SNS.(李宁)

    在标题“人人都玩开心网 ExtJS Android.SSH整合开发Web与移动SNS”中,我们可以提取出几个关键的IT知识点来进行详细阐述。 首先,“ExtJS”指的是一个JavaScript框架,它为开发者提供了丰富的用户界面组件,用于...

    ExtJS+Android+SSH整合开发Web与移动SNS

    在众多的技术栈中,ExtJS、Android以及SSH(Struts2 + Spring + Hibernate)是构建高质量Web与移动应用的重要工具。本文将围绕“ExtJS+Android+SSH整合开发Web与移动SNS”这一主题展开讨论,旨在为开发者提供一种...

    EXTJS4 Actioncolumn不能使用文字的部分解决办法

    就是extjs4里面,想给grid里面一格中,文字后面加个小图标。 因为俺们项目就只是文字+图标,所以俺就没有复写Actioncolumn,而是从Column下面继承了一下。。 包含自定义插件源码、效果图等等。

    解决Extjs当中复选框全选后,取消选中某一项,全选框仍是选中状态的问题

    然而,在实际应用中,我们可能会遇到一个问题:当实现全选功能后,如果尝试取消选中其中的一项,全选复选框仍然保持选中状态,这显然不符合用户的预期。本文将深入探讨这个问题,并提供解决方案。 首先,我们需要...

    myeclipse中使用extjs缓慢 卡死 白屏 解决方法总结

    - 如果经过上述调整仍然无法解决问题,可以考虑使用其他更现代的集成开发环境(IDE),如IntelliJ IDEA或Visual Studio Code等,这些IDE通常具有更好的性能和更丰富的插件支持。 通过上述方法,可以在很大程度上解决...

    dreamweaver Extjs 扩展插件语法提示

    dreamweaver Extjs 扩展插件...在dreamweaver中可以显示Extjs语法提示,提升开发效率,用起来很方便 分.zxp和.mxp两种扩展 cc2015,cs6均可用。 扩展安装需要到用Adobe Extension Manager,请自行在网上百度,免费下载。

    Extjs,解决双重边框问题

    在使用Extjs开发Web应用程序时,经常会遇到组件边框处理的问题,特别是当多个组件嵌套在一起时,可能会出现双重边框的情况,这在视觉上可能并不理想。本文以标题"Extjs,解决双重边框问题"和描述为例,探讨如何在...

    ExtJS 7.6 SDK trial

    10. **社区支持和更新**:随着7.6的发布,ExtJS社区也会提供大量的教程、讨论和解决方案,帮助开发者解决问题并分享最佳实践。 要深入学习ExtJS 7.6,你需要通过SDK中的示例和文档开始,熟悉新特性和改进,然后在...

    EXTJS记事本 当CompositeField遇上RowEditor

    RowEditor是EXTJS中的一个组件,它允许用户直接在表格行上编辑数据,提供了方便的数据编辑体验。 传统的做法是使用单一的Combobox来输入物料种类,但当物料种类数量庞大时,查找和选择变得困难。因此,开发者采用了...

    ExtJS经典皮肤集合

    4. **测试兼容性**:确保新皮肤在不同浏览器和设备上表现良好,解决可能出现的样式问题。 5. **优化性能**:合理管理和压缩CSS文件,减少页面加载时间。 此外,ExtJS还支持动态皮肤切换,用户可以在运行时根据自己...

    ExtJS内存泄漏问题详解

    关于ExtJS内存泄漏问题,一直是ExtJS开发人员困扰的问题,这篇文档很好地解释了什么是内存泄漏,为什么会产生内存泄漏。能够帮助程序员使用ExtJS开发出更高效安全的代码。

    eclipse安装extjs插件

    - **通过Install New Software**:如果插件不在Marketplace上,可以通过“Help” > “Install New Software”菜单进行手动安装。点击“Add”按钮,输入插件的更新站点URL(如果你有.updateSite文件,就指向它的位置...

Global site tag (gtag.js) - Google Analytics