我重载了jQuery的.load()函数以满足我的CrossDomain要求。
(function ($) {
var _load = $.fn.load;
$.fn.load = function(url, params, callback) {
if (url.match('^http')) {
$(this).load("read_page.php?p="+url);
return this;
}
else{
return _load.apply(this, arguments);
}
}
})(jQuery);
“read_page.php”调用PHP curl从跨域获取页面。
调用上述覆盖函数的代码部分是:
$(trg).load(user_folder+shw+qs, function(){
showErr("Updation Successfull", trg);
$(".divErr").css("border-color","#4F8A10");
$(".divErr").css("background","url(images/img_suc.png) no-repeat 10px 50%, left;");
$(".divErr").css("background-color","#DFF2BF");
}).html(vLoading);
.html(vLoading)部分正常,因为我的代码返回此的值。
功能(){...} 部分无效,因为我的代码无法处理回调
在我的自定义覆盖功能中需要帮助来处理回调。
答案 0 :(得分:0)
试试这个版本:
(function ($) {
var _load = $.fn.load;
$.fn.load = function(url, params, callback) {
if ( url.match('^http') ) {
var params = params || {},
callback = callback || function () {};
_load.call(this, "read_page.php?p="+url, params, callback );
return this;
}
else {
return _load.apply(this, arguments);
}
}
})(jQuery);