Сценарий, который выполняется, только если я не добавляю его с помощью jQuery? - PullRequest
0 голосов
/ 27 февраля 2012

Это мой код:

<script src="http://widgets.twimg.com/j/2/widget.js"></script><script>new TWTR.Widget({version: 2,type: "profile",rpp: 4,interval: 30000,width: 650,height: 202,theme: {shell: {background: "#7ee1fc",color: "#2e2e2e"},tweets: {background: "#ffffff",color: "#949494",links: "#009ece"}},features: {scrollbar: true,loop: false,vlive: false,hashtags: true,timestamp: true,avatars: false,behavior: "all"}}).render().setUser("microsoft").start();</script>

которые загружают плагины твиттера (но это, на самом деле, не имеет значения). Хорошо, теперь, если я написал весь код в виде «строки» и добавил его с помощью jQuery:

var myText='<script src="http://widgets.twimg.com/j/2/widget.js"><\/script><script>new TWTR.Widget({version: 2,type: "profile",rpp: 4,interval: 30000,width: 650,height: 202,theme: {shell: {background: "#7ee1fc",color: "#2e2e2e"},tweets: {background: "#ffffff",color: "#949494",links: "#009ece"}},features: {scrollbar: true,loop: false,vlive: false,hashtags: true,timestamp: true,avatars: false,behavior: "all"}}).render().setUser("microsoft").start();<\/script>'

$('#twitterContent').html(myText);

кажется, что не может загрузить его (я получаю сообщение об ошибке, TWTR не определено ).

Так почему одна версия должна работать, а другая нет? И как я могу исправить эту проблему?

P.S. Если вам нужен тестовый код, это , это скрипка.

Ответы [ 2 ]

5 голосов
/ 27 февраля 2012

jQuery версия:

$.getScript("http://widgets.twimg.com/j/2/widget.js", function() {
new TWTR.Widget({id: 'twitterContent',version: 2,type: "profile",rpp: 4,interval: 30000,width: 650,height: 202,theme: {shell: {background: "#7ee1fc",color: "#2e2e2e"},tweets: {background: "#ffffff",color: "#949494",links: "#009ece"}},features: {scrollbar: true,loop: false,vlive: false,hashtags: true,timestamp: true,avatars: false,behavior: "all"}}).render().setUser("microsoft").start();
})​;

FIDDLE

1 голос
/ 27 февраля 2012

Я думаю, вам нужен другой способ вставить элемент скрипта

var script = document.createElement( 'script' );
script.type = 'text/javascript';
script.src = url;
script.text = ".............";
$("#twitterContent").append( script );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...