어떤 사이트에도 삽입 할 수있는 jQuery 위젯을 개발하려고합니다. 스크립트 코드는 다음과 같은 :잡히지 않은 TypeError : 위젯 구현을 위해 정의되지 않은 'FUNCTION_NAME'을 (를) 설정할 수 없습니다.
(function($) {
var jQuery;
if (window.jQuery === undefined || window.jQuery.fn.jquery !== '1.6.2')
{
var script_tag = document.createElement('script');
script_tag.setAttribute("type","text/javascript");
script_tag.setAttribute("src","http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js");
script_tag.onload = scriptLoadHandler;
script_tag.onreadystatechange = function()
{
if (this.readyState == 'complete' || this.readyState == 'loaded')
scriptLoadHandler();
};
(document.getElementsByTagName("head")[0] || document.documentElement).appendChild(script_tag);
}
else
{
jQuery = window.jQuery;
main();
}
function scriptLoadHandler()
{
jQuery = window.jQuery.noConflict(true);
main();
}
function main() {
jQuery(document).ready(function($) {
var css = $("<link>", { rel: "stylesheet", type: "text/css", href: "http://mysite.com/my_css_path.css" });
css.appendTo('head');
});
$.fn.fetchfeed = function(options) {
var defaults = {
//default params;
};
var opts = $.extend(defaults, options);
var myURL = "http://mysite.com/"+opts.user+".json?";
var params = "&callback=?"
var jsonp_url = myURL + encodeURIComponent(params);
$.getJSON(jsonp_url, function(data) {
//build widget html
})
.error(function() {
//show error
});
}
}
})(jQuery);
을 그리고 다음은 사용자의 사이트에 배치해야하는 코드입니다 : 내가 다른 사이트에이 코드를 삽입하고 제공하는 위젯을로드하려고
<script id='mywidgetscript' src='http://my_site.com/javascripts/widget.js'></script>
<div id='my-widget-container'></div>
<script>$('#my-widget-container').fetchfeed({/*parameters*/});</script>
나 Uncaught TypeError: Can not set property 'fetchfeed' of undefined
오류가 발생하고 위젯을로드하지 못했습니다. 무엇이 잘못 될 수 있습니까?
놀랍게도이 위젯 코드는 내 사이트 localhost에서 작동합니다 !!! jQuery를 당신의 코드가 실행되기 전에 정의되지 않은 경우
이미 시도했습니다. 같은 오류 ...하지만 왜이 코드는 내 localhost 사이트에서 올바르게 실행되고 블로거에 포함하려고하지 않을까요 ??? 그것이 null/undefined 요소를 전달합니까 ?? – Bongs