我正在使用 TogetherJS ( http://togetherjs.com ),我想在 DOM 准备好后动态调用它。通过 head 中的脚本标记调用它时,它可以正常工作。动态调用同一脚本时出现问题:
function loadjsfile(filename, filetype){
if (filetype=="js"){ //if filename is a external JavaScript file
var fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript")
fileref.setAttribute("src", filename)
}
if (typeof fileref!="undefined")
document.getElementsByTagName("head")[0].appendChild(fileref)
}
loadjsfile("https://togetherjs.com/togetherjs-min.js", "js")
这些功能不起作用:
TogetherJS.hub.on('init', function (msg) {
console.log("init");
});
TogetherJS.on("ready", function () {
console.log("ready");
});
我得到“ TogetherJS 未定义”。
我能做些什么?
编辑:实际上我想在广场(http://galleria.io)准备好之后加载它,所以我这样称呼它:
Galleria.ready(function(){
loadjsfile("https://togetherjs.com/togetherjs-min.js", "js");
})
Edit2:在文档togetherjs.com/docs/#extending-togetherjs
中找到“延迟初始化”部分。我只是不知道如何替换这一行:
MyApp.onload = callback;
我需要 Galleria's.ready 事件而不是 MyApp.onload 。