0

と に関して 2 つの質問がSencha touchありphone gapます。

Ajith kumar による SenchaTouch CookBook を読んでいます。第 1 章で示したサンプル プログラムに従っています。それによると、私は次のことをしました。

これは私のindex.html

<!DOCTYPE HTML>
    <html>
        <head>
            <title>Yapps! - Your daily applications!</title>
            <link rel="stylesheet" href="sencha-
                touch/resources/css/sencha-touch.css" type="text/css">
                <link rel="stylesheet" href="sencha-
                    touch/resources/css/yapps-all.css" type="text/css">
                <script type="text/javascript" charset="utf-8"
                    src="phonegap.1.0.0.js"></script>
                <script type="text/javascript" charset="utf-8" src="sencha-
                    touch/sencha-touch.js"></script>
                <script type="text/javascript" charset="utf-8"
                    src="ch01/ch01_03.js"></script>
                <script type="text/javascript" charset="utf-8" src="sencha-
                    touch/yapps-all.js"></script>



        </head>
        <body></body>
    </html>

ch01_03.jsファイル。これらの.JSファイルをWWWフォルダー内に追加するように指示されましたが、そのフォルダー内にファイルを追加できないため、フォルダーから追加しました。

Ext.setup({
          onReady: function() {
          var supportedFeatures = "Ext.supports.AudioTag : " +
          (Ext.supports.AudioTag ? "On" : "Off");
          supportedFeatures += "\nExt.supports.CSS3BorderRadius : " +
          (Ext.supports.CSS3BorderRadius ? "On" : "Off");
          supportedFeatures += "\nExt.supports.CSS3DTransform : " +
          (Ext.supports.CSS3DTransform ? "On" : "Off");
          supportedFeatures += "\nExt.supports.CSS3LinearGradient : " +
          (Ext.supports.CSS3LinearGradient ? "On" : "Off");
          supportedFeatures += "\nExt.supports.Canvas : " +
          (Ext.supports.Canvas ? "On" : "Off");
          supportedFeatures += "\nExt.supports.DeviceMotion : " +
          (Ext.supports.DeviceMotion ? "On" : "Off");
          supportedFeatures += "\nExt.supports.Float : " +
          (Ext.supports.Float ? "On" : "Off");
          supportedFeatures += "\nExt.supports.GeoLocation : " +
          (Ext.supports.GeoLocation ? "On" : "Off");
          supportedFeatures += "\nExt.supports.History : " +
          (Ext.supports.History ? "On" : "Off");
          supportedFeatures += "\nExt.supports.OrientationChange : " +
          (Ext.supports.OrientationChange ? "On" : "Off");
          supportedFeatures += "\nExt.supports.RightMargin : " +
          (Ext.supports.RightMargin ? "On" : "Off");
          supportedFeatures += "\nExt.supports.SVG : " +
          (Ext.supports.SVG ? "On" : "Off");
          supportedFeatures += "\nExt.supports.Touch : " +
          (Ext.supports.Touch ? "On" : "Off");
          supportedFeatures += "\nExt.supports.Transitions : " +
          (Ext.supports.Transitions ? "On" : "Off");
          supportedFeatures += "\nExt.supports.TransparentColor : " +
          (Ext.supports.TransparentColor ? "On" : "Off");
          supportedFeatures += "\nExt.supports.VML : " +
          (Ext.supports.VML ? "On" : "Off");
          Ext.Msg.alert("INFO", supportedFeatures);
          }
          });

1.) 問題は、iPhone と Stimulator で実行すると空白の画面しか表示されないことです。これは何が起こっているのですか?ビューにアラートを表示するにはどうすればよいですか?

2.) デバイスがアプリケーションを実行しているかどうかを検出する必要があります。この本では、iPad、Android アプリケーション、および Blackberry を検出する方法を示しています。でもiPhoneじゃない。どうすればiPhoneを検出できますか?

Ext.setup({
          onReady: function() {

          if (Ext.is.Android)
          Ext.Msg.alert("INFO", "Welcome Android user!");
          if (Ext.is.Blackberry)
          Ext.Msg.alert("INFO", "Welcome Blackberry user!");
          if (Ext.is.iPad)
          Ext.Msg.alert("INFO", "Welcome iPad user!");

          } });
4

1 に答える 1

1

この質問は でタグ付けされてsencha-touch-2いるため、Sencha Touch 2 を使用していると思います。

Ext.isSencha Touch バージョン 2.0 では非推奨です

代わりに、Ext.env.OSpackage を使用して、デバイスで実行されているオペレーティング システムを検出できます。

また、 is プロパティを使用して、iPad、iPhone、Android などの特定のデバイスを検出できます。

  • Ext.os.is.Android: Android プラットフォーム
  • Ext.os.is.iPhone:iPhone
  • Ext.os.is.iPad:iPadなど

編集 :

はい、p'cular デバイスを検出できます。以下のコードを確認してください...

var navigation = Ext.global.navigator,
    userAgent = navigation.userAgent,
    osEnv, osName, deviceType;

Ext.os = osEnv = new this(userAgent, navigation.platform);

osName = osEnv.name;

var search = window.location.search.match(/deviceType=(Tablet|Phone)/),
nativeDeviceType = window.deviceType;

if (search && search[1]) {
    deviceType = search[1];
}
else if (nativeDeviceType === 'iPhone') {
    deviceType = 'Phone';
}
else if (nativeDeviceType === 'iPad') {
    deviceType = 'Tablet';
}

PhoneGap を使用した Sencha Touch MVC の良い例

于 2012-04-28T08:43:51.870 に答える