Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax 正在sencha touch 2中加载外部url_Ajax_Jsonp_Sencha Touch 2 - Fatal编程技术网

Ajax 正在sencha touch 2中加载外部url

Ajax 正在sencha touch 2中加载外部url,ajax,jsonp,sencha-touch-2,Ajax,Jsonp,Sencha Touch 2,我正在开发一个简单的应用程序,将外部url(google.com)加载到选项卡面板中。 使用ajax请求:Ext.ajax.request无法工作,因为访问控制允许源代码。 我知道如何加载本地html,如何允许在本地服务器上进行访问控制。 我的问题是当我无法访问外部服务器时。 是否仍要加载外部url? 我尝试了Ext.util.JSONP.request,但没有成功 下面是一个关于tappanel和加载url(不是我写的)的SenchaFIDLE示例: 您可以将其加载到iframe中。我已经编译

我正在开发一个简单的应用程序,将外部url(google.com)加载到选项卡面板中。 使用ajax请求:
Ext.ajax.request
无法工作,因为访问控制允许源代码。 我知道如何加载本地html,如何允许在本地服务器上进行访问控制。 我的问题是当我无法访问外部服务器时。 是否仍要加载外部url? 我尝试了
Ext.util.JSONP.request
,但没有成功

下面是一个关于tappanel和加载url(不是我写的)的SenchaFIDLE示例:

您可以将其加载到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, '*');
    }

});

用法:

重要提示:在iframe中从外部域加载URL被认为是一个安全缺陷

您可以做的是在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, '*');
    }

});

用法:

重要提示:在iframe中从外部域加载URL被认为是一个安全缺陷

您如何使用
Ext.util.JSONP
以及“不工作”的意思?请注意,您试图从中获取数据的URL必须具有JSONPenabled@ThiemNguyen你是对的,jsonp永远不会在没有启用jsonp的url上工作。我的问题是,如果我不能使用ajax调用,如何加载此url。你是如何使用
Ext.util.jsonp
的,意思是“没有工作”?请注意,您试图从中获取数据的URL必须具有JSONPenabled@ThiemNguyen你是对的,jsonp永远不会在没有启用jsonp的url上工作。我的问题是,如果我不能使用ajax调用,如何加载此url。我在移动设备上运行此代码时遇到一些问题,我无法单独拖动框架面板,我的所有选项卡面板都在移动。我的tabpanel不适合设备的屏幕(框架以全屏模式打开,使tabpanel变大)。请看这里:谢谢你你的代码只加载sencha.com其他网站如google.com facebook youtube没有加载任何网站禁止通过带有X-Frame-Options标题的iframe加载。不幸的是,没有解决办法。我在移动设备上运行此代码时遇到一些问题,我无法单独拖动框架面板,我的所有选项卡面板都在移动。我的tabpanel不适合设备的屏幕(框架以全屏模式打开,使tabpanel变大)。请看这里:谢谢你你的代码只加载sencha.com其他网站如google.com facebook youtube没有加载任何网站禁止通过带有X-Frame-Options标题的iframe加载。不幸的是,没有解决办法。