できることは、iframeにロードすることです。この目的に使用できるコンポーネントをコンパイルしました
Ext.define('Ext.ux.IframeComponent', {
extend: 'Ext.Component',
xtype: 'iframecmp',
config: {
/**
* @cfg {String} url URL to load
*/
url : null,
/**
* @cfg
* @inheritdoc
*
* Add your own style
*/
baseCls : Ext.baseCSSPrefix + 'iframe'
},
initialize: function() {
var me = this;
me.callParent();
me.iframe = this.element.createChild({
tag : 'iframe',
src : this.getUrl(),
style : 'width: 100%; height: 100%;'
});
me.relayEvents(me.iframe, '*');
}
});
使用法:
Ext.define("IframeCmp.view.Main", {
extend: 'Ext.tab.Panel',
config: {
tabBarPosition: 'bottom',
items: [
{
title : 'Google',
iconCls : 'action',
xtype : 'iframecmp',
url : 'http://sencha.com'
}
]
}
});
重要なお知らせ: iframe 内の外部ドメインからの URL の読み込みは、セキュリティ上の欠陥と見なされます