下面的社交媒体调用与Chome和Safari完全一样,但是Facebook和Twitter无法在Firefox下加载,并将消息"twitter未定义“记录在控制台中。有没有人知道如何纠正这个问题?
HTML调用:
<script id="twitter-wjs" async type="text/javascript" async src="https://platform.twitter.com/widgets.js"></script>
<script type="text/javascript" defer src="custom.js"></script>联署材料:
$(window).on('load', function () {
$('.streacher').addClass('activeScale');
twttr.ready(function (event) {
var containersWidth = $('.titleContentNews').width();
$('div.instaDiv').css({ 'height': containersHeigh + 'px' });
$('#facebookDiv').append('<iframe src="URL" width="' + containersWidth + '" height="' + containersHeigh + '" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true"></iframe>');
$('.twitter-timeline').css({ 'height': containersHeigh + 'px' });
$('.instaScroller').css({ 'height': containersHeigh + 'px' });
});
});提前谢谢大家!
发布于 2018-04-03 17:12:42
因为twitter script标记是async,所以它可能没有在文档的onLoad事件之前加载(在调用twttr时)。最简单(如果不是很好的话)解决方案就是从async标记中删除script属性。这个文章有更详细的解释。
发布于 2018-04-03 17:20:00
正如前面的答案所述,问题是twitter-wjs脚本的twitter-wjs属性。
要保留异步属性,可以初始化twttr对象,如下所示:
var twttr = twttr || {};它创建一个空对象,在脚本加载之前,您可以将就绪函数附加到该对象。
https://stackoverflow.com/questions/49635537
复制相似问题