我在将Vue应用程序中加载Twitter时间轴时遇到问题。时间线在初始页面访问期间正确加载,但是在使用导航或刷新页面后,twitter时间线不再出现。
我正在尝试通过已安装的函数加载widgets.js文件:
mounted: function () {
//TWITTER
window.twttr = (function (d,s,id) {
var t, js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return; js=d.createElement(s); js.id=id;
js.src="https://platform.twitter.com/widgets.js"; fjs.parentNode.insertBefore(js, fjs);
return window.twttr || (t = { _e: [], ready: function(f){ t._e.push(f) } });
}(document, "script", "twitter-wjs"));
twttr.widgets.load();
}
我正在使用twttr.widgets.load();
以便根据此文档https://developer.twitter.com/en/docs/twitter-for-websites/javascript-api/guides/scripting-loading-and-initialization动态加载窗口小部件。
值得注意的是,我在控制台中收到以下错误,这基本上意味着在调用twttr.widgets.load();
时,widgets.js文件不可用:
[Vue warn]: Error in mounted hook: "TypeError: Cannot read property 'load' of undefined"
有任何提示吗?
答案 0 :(得分:0)
您可以在load()
函数中调用ready()
twttr.ready(() => twttr.widgets.load());