【发布时间】:2021-09-08 03:58:42
【问题描述】:
我正在尝试异步(或延迟加载)这个 Reddit 小部件,但我遇到了问题。
这是直接在 html 中完美运行的基本代码:
<script src="http://www.reddit.com/domain/skattertech.com/new/.embed?limit=4&t=all&sort=new&style=off" type="text/javascript"></script>
如果我尝试将它移到我的scripts.js 中,在那里我执行其他 jQuery 东西,它最终会用小部件重写整个 DOM。我知道在浏览器中加载src 会显示正在执行的代码以document.write 开头。所以我猜,因为它失去了一个参考点,它会覆盖整个窗口。
这是我尝试过但失败的两种方法:
$('.redditdiv').html('<script src="http://www.reddit.com/domain/skattertech.com/new/.embed?limit=4&t=all&sort=new&style=off" type="text/javascript"></script>');
另一个失败的尝试:
var redditscript = document.createElement('SCRIPT');
redditscript.type = 'text/javascript';
redditscript.async = true;
redditscript.src = 'http://www.reddit.com/domain/skattertech.com/new/.embed?limit=4&t=all&sort=new&style=off';
$('.redditdiv').append(redditscript);
如果有人有建议,那将是非常棒的。谢谢!
附:额外问题:是否有人也对这个 Twitter 小部件有建议?
<script src="http://widgets.twimg.com/j/2/widget.js"></script>
<script>
new TWTR.Widget({version: 2,type: 'profile',rpp: 4,interval: 6000,width: 'auto',height: 300, theme: {shell: {background: '#ffffff',color: '#000000'},tweets: {background: '#ffffff',color: '#606060',links: '#4476cc'} }, features: {scrollbar: false,loop: false,live: false,hashtags: false,timestamp: true,avatars: false,behavior: 'all'} }).render().setUser('skattertech').start();
</script>
【问题讨论】:
-
马修,感谢您的建议。我尝试了诺亚建议的简单版本。它似乎没有做任何事情。您能否为上面的一段代码写一个示例? (对不起,我是新手。)
标签: jquery html optimization