首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Ajax请求执行内联脚本

从Ajax请求执行内联脚本
EN

Stack Overflow用户
提问于 2011-09-23 18:11:53
回答 1查看 305关注 0票数 1

在我的应用程序主页上,我构建了一个“widgets”系统。widgets的源代码由服务器端生成,并通过Ajax推送到客户端。

代码语言:javascript
复制
Ext.Ajax.request({
    url: '/get-widgets',
    success: function( response ) {
        var boxes = Ext.decode( response.responseText );
        Ext.each( boxes, function( box ) {
            box.id = 'cell-' + box.cell;

            var element = Ext.DomHelper.append( 'canvas', {
                tag: 'div',
                id: box.id,
                cls: 'widget size-' + ( box.size || '11' ),
                children: [{
                    tag: 'div',
                    cls: 'title',
                    html: box.title
                }, {
                    tag: 'div',
                    cls: 'main',
                    html: box.body
                }]
            }, true );
        });
    }
});

问题是,一些小部件的主体中有一些需要执行的内联Javascript。这在Firefox中很好用,但在Chrome中就不行了。

要执行内联代码,有没有需要激活的标志或东西?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-23 18:22:35

发现Ext.Element::update()方法提供了一个用于扫描和执行内联脚本的标志。我按如下所示更改了代码以使用此方法:

代码语言:javascript
复制
var element = Ext.DomHelper.append( 'canvas', {
    tag: 'div',
    id: box.id,
    cls: 'widget size-' + ( box.size || '11' ) + ' ' + ( box.cls || '' ) + ' ' + ( box.type || '' ),
    children: [{
        tag: 'div',
        cls: 'title',
        html: box.title
    }, {
        id: box.id + '-body',
        tag: 'div',
        cls: 'main'
    }]
}, true );

Ext.get( box.id + '-body' ).update( box.body, true );
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7527403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档