2013-08-26 4 views
0

Этого код Twitter ниже:кнопки чирикать скрипт не работает при загрузке через AJAX

<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="https://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script> 

Этот код находится на странице comments.php и загружается в social.php при первой загрузке.
Кнопка щебета работает отлично на этом этапе.

Однако, когда я размещаю комментарий и комментарии.fp перезагружается, но social.php не перезагружается, скрипт Twitter не работает, и кнопка твита не появляется.

Пожалуйста, помогите мне. Извините, если я не понимаю.

+0

Да, скрипт twitter находится в верхней части comments.php чуть ниже моей session_start(); – user2166538

+0

comments.php отдельно от social.php – user2166538

+0

, когда я смотрю, используя элемент проверки, скрипт все еще присутствует на странице, но он не работает – user2166538

ответ

0

Ok, так что вы должны загрузить Twitter виджет вне comments.php, потому что сценарий не будет загружен с помощью Ajax.

Это было бы проще в управлении и будет избегать загрузки вашего виджета Twitter каждый раз. Нет необходимости называть этот скрипт для внешнего источника (Twitter) для каждого сообщения, это неэффективно и подвержено ошибкам.

Делая это, вы устраните проблему.

+0

теперь он даже не работает в первый раз :( – user2166538

+0

Таким образом, в вашем коде есть ошибка, добавьте виджет в social.php (который не перезагружен). причина, которая не должна работать. – glautrou

+0

ok я проверил – user2166538

0

Как правило, javascript интерпретируется только после его загрузки. Изменения после первоначальной интерпретации через ajax не будут интерпретироваться.

jQuery .load() call doesn't execute javascript in loaded html file

может быть связано, проверить его ...

Смежные вопросы