Javascript 在Sencha Touch 2应用程序中加载外部web应用程序
我是Sencha Touch 2的新手,正在从事一个项目,我必须访问我的应用程序中的一个网站,但该网站与应用程序位于不同的域中 我曾想过将其加载到iframe中,但iframe中的内容不会显示iframe容器中外部url中的任何内容 下面是一个例子Javascript 在Sencha Touch 2应用程序中加载外部web应用程序,javascript,extjs,sencha-touch,sencha-touch-2,Javascript,Extjs,Sencha Touch,Sencha Touch 2,我是Sencha Touch 2的新手,正在从事一个项目,我必须访问我的应用程序中的一个网站,但该网站与应用程序位于不同的域中 我曾想过将其加载到iframe中,但iframe中的内容不会显示iframe容器中外部url中的任何内容 下面是一个例子 new Ext.TabPanel({ fullscreen: true, type: 'dark', sortable: true, items: [{
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
}]
});
iframe标记未正确关闭,请不要忘记设置其宽度和高度。根据您的要求为iframe指定宽度和高度 要获得滚动,请使用CSS:
overflow : scroll;
还可以查看iFrame的沙盒和无缝属性
你能做的最好的事情就是下载PhoneGap,将你的HTML5/Sencha应用程序粘贴到一个新PhoneGap应用程序的www目录中,用XCode编译它,这样你就有了一个原生PhoneGap应用程序为你的Sencha应用程序服务。然后,一旦你做到了这一点,你可以创建一个事件来加载你的外部应用程序,例如,点击一个按钮,等等 PhoneGap提供了一个JavaScript入口点,您可以在Sencha开发中使用它。您可以运行本机PhoneGap功能,包括PhoneGap的ChildBrowser插件https://github.com/purplecabbage/phonegap-plugins/tree/master/iPhone/ChildBrowser. 使用Sencha调用PhoneGap的childbrowser插件的JS入口点,并使用childbrowser加载外部应用程序 不能只执行iframe的原因至少有三个: 一些人抱怨说,在sencha应用程序中加载iframe导致应用程序在本机中崩溃。我想如果iframe包含一个复杂的网页,这可能会导致内存问题,从而导致应用程序崩溃。 在iframe中没有支持滚动的简单方法。Sencha实现的基于JS的触摸滚动不会进入iframe。也许可以通过某种黑客手段让它工作,但上面的问题1仍然存在。 在iframe中调整内容的大小以使其看起来像样可能会有问题。
我应该注意到,为了完整性起见,一些人在这个网站上表示,他们已经能够通过JSONP/AJAX加载网页,然后将网页的HTML注入他们的Sencha应用程序。我怀疑这可能与简单地在PhoneGap上钻研一点并使用ChildBrowser插件一样复杂,因为它现在显示出来了。谢谢,但我无法浏览iframe容器中加载的应用程序。我也无法在iframe中滚动浏览应用程序。现在感谢我的主要问题。请帮帮我,我恳求你。谢谢…谢谢,但我现在面临的问题是,sencha touch应用程序的iframe中加载的应用程序实际上就像一个图像,因为我无法单击加载的应用程序的任何链接。它不可导航…谢谢,应用程序中是否只有此iframe或更多?在DOM中加载多个iframe有时会产生奇怪的问题。如果链接目标指向其他iFrame,请检查此项。检查一些其他浏览器,因为这可能与Doctype和Meta标记有关。非常感谢,这至少是我在这里需要做的,Phone gap是最好的解决方案。谢谢。