从 Ajax 请求执行内联脚本
在我的应用程序主页上,我构建了一个“小部件”系统。小部件的来源是服务器端生成的,并通过 Ajax 推送到客户端。
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 中却行不通。
是否需要激活一个标志或其他东西才能执行内联代码?
On my application homepage, I built a 'widgets' system. The source of the widgets is generated server side, and pushed to the client through Ajax.
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 );
});
}
});
The problem is, that some widgets have some inline Javascript in their body, that needs to be executed. This works perfectly in Firefox, but does not in Chrome.
Is there a flag or something you need to activate for the inline code to be executed?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
找到了
Ext.Element::update()
方法具有一个用于扫描和执行内联脚本的标志。我将代码更改如下以利用此方法:Found out the
Ext.Element::update()
method features a flag to scan for and execute inline scripts. I changed my code as follows to utilize this method: