CrossDomain の要件を満たすために、jQuery の .load() 関数をオーバーロードしました。
(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);
私のコードがthisの値を返すので、 .html(vLoading)部分はうまくいっています。
私のコードにはコールバックを処理する部分がないため、function(){...}部分が機能していません
カスタム オーバーライド関数でコールバックを処理するのに助けが必要です。