Проблемы с лентой Twitter в Ember Views

В основном на домашней странице у меня есть фрагмент кода, сгенерированный виджетом Twitter, когда я загружаю страницу в первый раз через URL-адрес, отображается лента, теперь я перехожу на другую страницу и снова возвращаюсь на домашнюю страницу, лента твиттера не вроде отображаются.

Я, кажется, не нахожу причину этого, это что-то связанное со СПА? потому что, если загрузить домашнюю страницу через URL-адрес, она загружается, но когда я перемещаюсь вперед и назад, она не отображается,
я просто вижу тег a Tweets by User


person Mudassir Ali    schedule 09.04.2013    source источник
comment
Можете ли вы предоставить jsfiddle для отображения поведения?   -  person intuitivepixel    schedule 10.04.2013
comment
jsFiddle выдает некоторые ошибки с кодом виджета, но я нашел решение, поделившись им   -  person Mudassir Ali    schedule 13.04.2013


Ответы (1)


Это код виджета, когда мы создаем виджет в настройках 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)) это ищет наличие элемента, если он не существует, он вставит фид. В моем случае этот элемент существует, но виджет каким-то образом не отображался, когда я перехожу на какую-то страницу и возвращаюсь, поэтому я удалил это выражение if, и все работает отлично, только один виджет на странице.

Не лучшее решение, но в будущем кто-то столкнется с этой проблемой, это возможный обходной путь!

person Mudassir Ali    schedule 12.04.2013
comment
круто, я пытался понять это часами! - person dezman; 13.08.2013
comment
@MudassirAli Так это работает только в component, а не в templates? - person Jack; 06.02.2015
comment
Ну, я написал этот ответ, когда emberjs еще не представил component. Итак, важно отметить, существует ли element с идентификатором twitter-wjs или нет. - person Mudassir Ali; 10.02.2015
comment
d.getElementsByTagName(s[0],p должно быть d.getElementsByTagName(s[0]),p. Но это решение не работает в компонентах Ember для случая изменения маршрута. - person Hasib Mahmud; 15.04.2015
comment
Этот ответ очень старый, написанный, когда тогда еще не было компонентов Ember. - person Mudassir Ali; 15.04.2015