2

基本上在主页上,我有 Twitter Widget 生成的代码片段,当我第一次通过 url 加载页面时,会显示提要,现在我转到其他页面并再次返回主页,推特提要没有似乎显示。

我似乎没有找到这背后的原因,它与SPA有关吗?因为如果通过 URL 加载主页,它会加载,但是当我来回导航时它不会显示,
我只会看到a标签Tweets by User

4

1 回答 1

4

这是我们在Twitter 设置中创建小部件时的小部件代码(它被缩小了,我做了格式化以使其可读)

<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>

如您所见,if(!d.getElementById(id))this 查找元素的存在,如果它不存在,则它将插入提要,在我的情况下,此元素存在,但是当我导航到某个页面并返回时,小部件未以某种方式呈现,所以我删除了 if 语句,一切正常,页面上只有一个小部件。

不是最好的解决方案,但将来有人会遇到这个问题,这是一种可能的解决方法!

于 2013-04-12T20:52:27.680 回答