Javascript 小部件生成:未捕获类型错误:对象[Object Object]没有方法';fancybox';
为什么这样做有效: 但这不是吗 这个问题似乎很复杂;你可能会想,为什么不使用第一个呢!?为什么要使用jQuery加载可以轻松加载到原始HTML中的JS+CSS资产 嗯,我正在构建一个web小部件,我希望嵌入的代码尽可能小。我们的想法是让用户在代码中包含一行Javascript 小部件生成:未捕获类型错误:对象[Object Object]没有方法';fancybox';,javascript,jquery,Javascript,Jquery,为什么这样做有效: 但这不是吗 这个问题似乎很复杂;你可能会想,为什么不使用第一个呢!?为什么要使用jQuery加载可以轻松加载到原始HTML中的JS+CSS资产 嗯,我正在构建一个web小部件,我希望嵌入的代码尽可能小。我们的想法是让用户在代码中包含一行,widget.js代码将处理所有细节。包括取fancybox 我得到一个错误:uncaughttypeerror:Object[Object]没有方法“fancybox” 我假设javascript没有等待fancybox.js加载,而是立即
,widget.js代码将处理所有细节。包括取fancybox
我得到一个错误:uncaughttypeerror:Object[Object]没有方法“fancybox”
我假设javascript没有等待fancybox.js加载,而是立即尝试将fancybox()应用于触发器。当资产加载后,我可以在这里进行回调吗?但我肯定他们会被纳入DOM中。。。我用镀铬工具检查过
我知道这个问题以前在StackOverflow上被问过,但不是在这个上下文中
谢谢,节日快乐 在第二种方法中,在加载fancybox插件之前调用fancybox方法。如果要在加载脚本后执行代码,请使用该方法 例如:
$.getScript(
"http://jordanarsenault.com/fancy/fancybox.js",
function(){
$(".trigger").fancybox();
}
);
如果需要一个高级的资源加载器,考虑使用一个真正的加载器,例如./p>,因为脚本没有立即加载。您必须使用
$.getScript
并提供如下回调:
$.getScript("http://jordanarsenault.com/fancy/fancybox.js", function() {
$(".trigger").fancybox(); // only run when script is loaded
});