3
$("#loader").load(someurl, null, function ()
{
    var html = $("#loader").html(); 
    alert(html);  //works 
});

でも、

$("#loader").load(someurl, "body", function ()
{
    var html = $("#loader").html(); 
    alert(html);  //does NOT work 
});

phonegap/cordova で外部ホストの html データを取得しようとしています。

filetransfer.downloadAPI は html フェッチでうまく機能しませんが、jQuery の .load 関数がうまく機能し、ファイル管理は関係なくメモリのみであるため、便利だと思います。

問題は、HTML 全体が一部$("#loader")の .css/style-sheet に一度ロードされるため、html.bodyレイヤーの競合や混乱が発生することです。

したがって、html http://api.jquery.com/load/の本体部分のみをフェッチしようとします

.load( url [, data] [, complete(responseText, textStatus, XMLHttpRequest)] )

ただし、[, data]オプションは機能しません。

"html>body"機能しないか、どのセレクターも機能していないようです。

これはバグですか??

4

3 に答える 3

2

セレクターは URL に追加する必要があります (スペースで区切ります)。

$("#loader").load(someurl + ' body', function (){
    var html = $("#loader").html(); 
    alert(html);
});
于 2012-09-04T06:16:18.933 に答える
1

load メソッドを使用して、ページの一部のみを読み込むことができます。最初のパラメーターでセレクターを指定する必要があります。( Load() APILoading Page Fragmentsのセクションを参照してください)

$('#loader').load('ajax/test.html body',function(){
var html = $("#loader").html();
alert(html);

});
于 2012-09-04T06:20:18.713 に答える
1

ページからコンテンツをフィルター処理する場合は、スペースで区切られた URL の末尾にセレクターを追加する必要があります。

$("#loader").load(someurl + ' body', function (){
    var html = $("#loader").html(); 
    alert(html);
});
于 2012-09-04T06:18:27.997 に答える