отображение iframe в сенсорном приложении sencha с прокруткой - PullRequest
2 голосов
/ 12 января 2012

Я пытаюсь загрузить внешнюю веб-страницу в iframe в моем сенсорном приложении sencha. Веб-страница имеет динамическую высоту, поэтому мне нужно, чтобы iframe можно было прокручивать в приложении Sencha Touch. Мне удалось прокрутить страницу, но основной iframe не отображает веб-контент ниже начального viewport. Вот мой код У кого-нибудь есть идеи?

App.views.Help = Ext.extend(App.views.Base, {
    title: 'Help',
    mainLevel: 10,
    subLevel: 1,
    backButton: 'dashboard',
    forceTab: App.OTHER_TAB,
    forceSideTab: App.HELP_TAB,
    layout: 'fit',
    bodyPadding: 0,
    items: [{
        xtype: 'panel',
        scroll: 'both',
        items: [{
            id: 'iframe',
            layout: 'vbox',
            width: '100%',
            height: '2000px',
            html: [
                '<div style="width:100%;height:2000px;position:fixed;top:0;left:0;background-color:Transparent;float:left;z-index:99;"></div>',
                '<iframe style="position:fixed;top:0;left:0;float:left;z-index:1;" width="100%" height="2000px" src="http://mvretail.assistly.com/customer/portal/topics/118700-mobile-basics"></iframe>'
            ]
        }]
    }]

/* OLD attempts
    html: '<iframe style="overflow-y: scroll; -webkit-overflow-scrolling: touch"     width="1000px" height="1200px"     src="http://mvretail.assistly.com/customer/portal/topics/118700-mobile-basics"></iframe>'

    html:    '<div  style="overflow-y: scroll; -webkit-overflow-scrolling: touch"><iframe     width="1000px" height="1000px"   src="http://mvretail.assistly.com/customer/portal/topics/118700-mobile-basics"></iframe>  </div>'
*/

});

1 Ответ

0 голосов
/ 15 мая 2013

Ах, знакомая проблема. Пытаясь и пытаясь целую вечность, я понял это. Вот ссылка на сообщение в блоге, которое я сделал, чтобы помочь решить эту проблему для всех остальных (и для меня

Tech-Talk-Tone: прокрутка внешних веб-страниц в Sencha Touch с помощью iFrames & More

Вот исправление ::

Ext.Ajax.request({
                url: ‘your/external/web/page/url.html’,
                success: function(response, opts) {
                    Ext.getCmp(‘YourPanelId’).update(response.responseText);
                }
});

Чтобы это работало для внешних ссылок, вам нужно включить кросс-доменный или кросс-браузерный Ajax-запросы на сервере, на котором вы размещаете приложение (или Phonegap). Как только вы это сделаете, он отлично работает :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...