0

这是我面临的一些奇怪的事情。我是 sencha 和 Javascript 的新手,但已经做了一段时间的测试。我读到测试您的 sencha touch 2 应用程序的最佳桌面浏览器是 Chrome,因为它是基于 Web 工具包的,而 Firefox 无法运行。

我创建了一个使用 Sencha Touch 2 轮播的 Web 应用程序,列出并存储从 .json 文件中获取的数据。

此时的应用程序有两个不同的屏幕,当您通过 Firefox 浏览器访问时,您可以看到如下所示:

在此处输入图像描述 在此处输入图像描述

正如您所看到的,轮播和事件列表在使用 Firefox 时都显示并按预期工作(尽管我应该是代码不应该在其中工作的浏览器。

当我使用 Google Chrome 访问完全相同的代码时,我得到以下信息:

在此处输入图像描述 在此处输入图像描述

正如您所看到的,在 Firefox 中运行的代码在 Chrome 中不起作用对我来说没有多大意义(这应该是测试 Sencha Touch 的更好的浏览器)。

此外,如果我在 android 和 iOS 设备上运行这些相同的代码,结果是第一个屏幕,即带有轮播的屏幕,显示完美,但事件列表不显示任何事件 init,就像在 chrome 中发生的一样,但是唯一不同的是这次顶部的标题显示正确。至少这次 iOS 和 Android 浏览器的行为方式相同。

我已经使用了标准的 sencha 视图、商店和模型,但我不知道是否做过任何特定于浏览器的操作。

知道为什么会出现这种差异吗?为什么 Chrome 根本不工作,而 Firefox 工作得很好?

谢谢奥里奥尔

4

1 回答 1

1

Looks like you are probably experiencing the Sencha Touch - Chrome 29 bug. See how to fix this here: http://www.sencha.com/forum/announcement.php?f=90&a=43

In summary, this is what to do:

In project directory edit the file resources/themes/stylesheets/sencha-touch/base/mixins/_Class.scss so that st-box mixin looks like the following:

@mixin st-box($important: no) {
    @if $important == important {
         display: flex !important;
         display: -webkit-box !important;
         display: -ms-flexbox !important;
     } @else {
         display: flex;
         display: -webkit-box;
         display: -ms-flexbox;
     }
} 

Then open command prompt, move to resources/sass directory and execute compass compile. Before doing this Make sure Ruby is installed and that compass is also configured.

于 2013-10-25T15:50:56.113 回答