1

Sencha-Touch 2の初心者であり、アプリケーション内のWebサイトにアクセスする必要があるが、Webサイトがアプリケーションとは異なるドメインにあるプロジェクトに取り組んでいます。

iframeに読み込むことを考えましたが、iframeのコンテンツにiframeコンテナの外部URLから何も表示されません。

例を以下に示します。

new Ext.TabPanel({
            fullscreen: true,
            type: 'dark',
            sortable: true,
            items: [{
                title: 'Tab 1',
                html: '1',
                cls: 'card1'
            }, {
                title: 'Tab 2',
                html: '2',
                cls: 'card2'
            }, {
                title: 'The Latest',
        html: '<iframe src =\"http://www.google.com\"></iframe>',
        id: 'feedTab',
        iconCls: 'team',
        scroll : false
            }]
        });
4

3 に答える 3

0

iframeタグが正しく閉じられていないため、幅と高さを設定することを忘れないでください。

于 2012-12-28T18:01:07.470 に答える
0

要件に応じて、iFrameに幅と高さを指定します。

スクロールを取得するには、CSSを使用します。

overflow : scroll;

iFrameのサンドボックスとシームレスなプロパティもチェックしてください

http://www.w3schools.com/tags/tag_iframe.asp

于 2012-12-29T12:05:16.763 に答える
0

最善の方法は、PhoneGapをダウンロードし、HTML5 / Senchaアプリを新しいPhoneGapアプリのwwwディレクトリに貼り付け、XCodeでコンパイルして、SenchaアプリにネイティブのPhoneGapアプリを提供することです。次に、そこまで到達したら、外部アプリをロードするためのイベントを作成できます(たとえば、ボタンのクリックなど)。

PhoneGapは、Sencha開発内で使用できるJavaScriptエントリポイントを提供します。PhoneGap用のChildBrowserプラグイン(https://github.com/purplecabbage/phonegap-plugins/tree/master/iPhone/ChildBrowser)など、ネイティブのPhoneGap機能を実行できます。Senchaを使用してPhoneGapのchildbrowserプラグインのJSエントリポイントを呼び出し、ChildBrowserを使用して外部アプリをロードします。

iframeを実行できない理由は少なくとも3つあります。

  1. senchaアプリ内にiframeをロードすると、ネイティブでアプリがクラッシュしたとの不満もあります。(iframeに複雑なWebページが含まれていると、メモリの問題が発生し、アプリがクラッシュする可能性があります。)
  2. iframe内でのスクロールをサポートする簡単な方法はありません。Senchaが実装するJSベースのタッチスクロールはiframeに反映されません。(これをある種のハックで機能させることは可能かもしれませんが、それでも上記の問題#1があります。)
  3. 適切に見えるように、iframe内でコンテンツのサイズを変更する際に問題が発生する可能性があります。

完全を期すために、このサイトでJSONP / AJAXを介してWebページをロードし、そのページのHTMLをSenchaアプリに挿入できることを示している人もいます。これは、PhoneGapを少し骨抜きにして、ChildBrowserプラグインを使用するのと同じくらい、一貫して機能させるのが複雑になる可能性があると思います。

于 2013-01-03T15:00:57.997 に答える