Javascript iframe内部的jQuery插件;父窗口中的jQuery
我想在一个iframe里工作。为了避免两次加载jQuery,我在iframe中使用了以下代码(用于捕获jQuery): 我在包含Javascript iframe内部的jQuery插件;父窗口中的jQuery,javascript,jquery,iframe,jquery-plugins,Javascript,Jquery,Iframe,Jquery Plugins,我想在一个iframe里工作。为了避免两次加载jQuery,我在iframe中使用了以下代码(用于捕获jQuery): 我在包含$(“#jquery_jplayer_1”).jplayer()的行中遇到以下错误: 未捕获类型错误:未定义不是函数 您正在这里异步加载插件。您应该尝试:script.onload=function(){$(“#jquery_jplayer_1”).jplayer({/*…settings…*/});};script.src=“/js/jquery.jplayer.mi
$(“#jquery_jplayer_1”).jplayer()的行中遇到以下错误:
未捕获类型错误:未定义不是函数
您正在这里异步加载插件。您应该尝试:script.onload=function(){$(“#jquery_jplayer_1”).jplayer({/*…settings…*/});};script.src=“/js/jquery.jplayer.min.js”代码>但我真的不确定这是你唯一的问题,这消除了错误。现在它悄无声息地失败了。只有包含jQuery,它才能真正开始播放歌曲。有什么想法吗?你必须提供MCVE,可能只是你设置不正确或者其他什么,谁知道?!
window.addEventListener("load", function (e) {
if (typeof (jQuery) === "undefined")
{
// The body of the iframe.
var context = document.body;
jQuery = parent.jQuery;
$ = function (selector) {
return jQuery(selector, context);
};
}
// Plugin is appended to the document here, to make sure jQuery is defined.
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "/js/jquery.jplayer.min.js";
document.head.appendChild(script);
// Plugin stuff here..
$("#jquery_jplayer_1").jPlayer({ /* ... settings ... */ });
});