Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.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
Javascript 将twitter小部件添加到extjs面板_Javascript_Twitter Bootstrap_Extjs_Twitter - Fatal编程技术网

Javascript 将twitter小部件添加到extjs面板

Javascript 将twitter小部件添加到extjs面板,javascript,twitter-bootstrap,extjs,twitter,Javascript,Twitter Bootstrap,Extjs,Twitter,我是ExtJs新手。 我在twitter上创建了一个twitter小部件。它只在简单的html页面上运行良好。 正如推特所说,你只需要包括 <a class="twitter-timeline" href="https://twitter.com/search?q=%23certain" data-widget-id="widget-id">Tweets about "#certain"</a> <script>!function(d,s,id){var js

我是ExtJs新手。 我在twitter上创建了一个twitter小部件。它只在简单的html页面上运行良好。 正如推特所说,你只需要包括

<a class="twitter-timeline" href="https://twitter.com/search?q=%23certain" data-widget-id="widget-id">Tweets about "#certain"</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>

!函数(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http://.test(d.location)''http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+“://platform.twitter.com/widgets.js”;fjs.parentNode.insertBefore(js,fjs);}(文档,“脚本”,“twitter wjs”);

将其放入html会在UI上创建一个漂亮的小部件,但我希望它包含在extjs面板中。它只创建一个超链接,而不是小部件。有人能帮我吗。

在传递给Ext.Panel构造函数的config对象中,只需为
html
属性包含一行即可。属性的值只是定义Twitter小部件的HTML字符串。

将javascript部分移动到面板的
afterrender
侦听器中:

Ext.widget('panel', {
    renderTo: Ext.getBody()
    ,title: "Tweeter!"
    ,width: 500
    ,height: 300
    ,html: '<a class="twitter-timeline" href="https://twitter.com/search?q=%23certain" data-widget-id="widget-id">Tweets about "#certain"</a>'
    ,listeners: {
        afterrender: function() {
            !function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");
        }
    }
});
Ext.widget('panel'){
renderTo:Ext.getBody()
,标题:“推特!”
,宽:500
,身高:300
,html:'
,听众:{
afterrender:function(){
!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http://.test(d.location)}'http:'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+“://platform.twitter.com/widgets.js”;fjs.parentNode.insertBefore(js,fjs);}(document,“script”,“twitter wjs”);
}
}
});

如果有人在寻找答案,下面是我是如何找到答案的

var tweetHtml = '<a class="twitter-timeline" href="https://twitter.com/search" data-widget-id="your-widget-id" height="' + height + '" >Tweets for Certain Mobile</a>';
var dialog = new Ext.Panel({
    xtype: 'panel',
    height: '100%',
    border: false,
    scroll: 'vertical',
    listeners: {
        single: true, // Remove the listener after first invocation
        afterrender: function() {
            ! function(d, s, id) {
                var js, fjs = d.getElementsByTagName(s)[0],
                    p = /^http:/.test(d.location) ? 'http' : 'https';
                if (!d.getElementById(id)) {
                    js = d.createElement(s);
                    js.id = id;
                    js.src = p + "://platform.twitter.com/widgets.js";
                    fjs.parentNode.insertBefore(js, fjs);
                }
            }(document, "script", "twitter-wjs");
        }
    },
    html: tweetHtml
});
var tweetHtml='';
var对话框=新的外部面板({
xtype:'面板',
高度:“100%”,
边界:错,
滚动:‘垂直’,
听众:{
single:true,//在第一次调用后删除侦听器
afterrender:function(){
!函数(d、s、id){
var js,fjs=d.getElementsByTagName[0],
p=/^http:/.test(d.location)?'http':'https';
如果(!d.getElementById(id)){
js=d.createElement;
js.id=id;
js.src=p+“://platform.twitter.com/widgets.js”;
fjs.parentNode.insertBefore(js,fjs);
}
}(文件,“脚本”、“推特wjs”);
}
},
html:tweetHtml
});

我试图将其包含在html中,当我将代码粘贴到普通html页面时,“iframe”标记etcIt对我不起作用。你需要更新data-widget-id。可以从twitter>设置创建一个简单的小部件。我正在使用sencha,它正在抛出对象#没有方法“widget”更新sencha版本很单调sencha?森查是一家。。。我想你是说ext3.4?还是森茶触摸?无论如何,我的示例中唯一相关的部分是
html
属性和侦听器。。。这应该是直接移植到任何Sencha产品。。。