Javascript Twitter嵌入的时间轴消失了

Javascript Twitter嵌入的时间轴消失了,javascript,jquery,twitter,Javascript,Jquery,Twitter,我通过Jquery嵌入了一个twitter时间线,这样当用户点击一个按钮时,它就会用时间线创建div。。。当他再次点击时,时间线消失了 这是可行的,但当我再次单击按钮时,它不想再次加载。所以我每页只有一次加载 $("#TWT").click(function(e) { e.preventDefault(); if(loadHtml == "empty") { $( "#authorName" ).load( "test.html" );

我通过Jquery嵌入了一个twitter时间线,这样当用户点击一个按钮时,它就会用时间线创建div。。。当他再次点击时,时间线消失了

这是可行的,但当我再次单击按钮时,它不想再次加载。所以我每页只有一次加载

$("#TWT").click(function(e) {
        e.preventDefault(); 
        if(loadHtml == "empty") {
        $( "#authorName" ).load( "test.html" );
        loadHtml = "full";
        } else if(loadHtml == "full") {
            $("#tweetDiv").remove();
            loadHtml = "empty";
            }
    });
test.html包含嵌入的内容,loadHtml设置为空

我的实际实现更为复杂,但我已将其缩减到这一步,以便我能看到问题所在。包含twitter提要的div将重新出现。。。但饲料不会再次加载

在不加载的情况下多次向页面提供嵌入式时间线是否存在问题?如果我刷新页面,它会再次工作。。。只有一次

PS:只是澄清一下——这不是div不再出现的问题。当我查看生成的html时,它显示得很好。只是推特不想再加载了。

说不定,tweetDiv是authorName的父母吗?如果是这种情况,$(“#tweetDiv”).remove()将导致#authorName也从DOM中删除,这意味着您的下一个.load()没有针对页面上的任何元素


另一方面,如果要显示/隐藏内容,我建议使用.show()和.hide(),这在浏览器上比较便宜,因为它不会改变DOM节点。

我刚刚遇到了一个类似的问题并解决了它。 您必须包含一些类似于twitter提供的javascript:

        !function(d,s,id){
            var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';
            if(!d.getElementById(id)){
                console.log("executed");
                js=d.createElement(s);
                js.id=id;
                js.src=p+"://platform.twitter.com/widgets.js";
                fjs.parentNode.insertBefore(js,fjs);
            }
        }(document,"script","twitter-wjs");
我通过注释if()语句解决了这个问题:

        !function(d,s,id){
            var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';
            //if(!d.getElementById(id)){
                console.log("executed");
                js=d.createElement(s);
                js.id=id;
                js.src=p+"://platform.twitter.com/widgets.js";
                fjs.parentNode.insertBefore(js,fjs);
            //}
        }(document,"script","twitter-wjs");
谢谢你的回复。不,#tweetDiv不是#authorName的父级。我也尝试过用所有twitter嵌入代码创建一个var,然后把它放进去(不加载)。因此,div仍然正确地显示,因为我在其中添加了文本(除了twitter代码),只是twitter嵌入只显示了一次。