私はjqueriesアドレス変更イベントを処理しており、ユーザーがブラウザでURLをコピーして貼り付けると、ロードブロッキングが発生します。フォームを含むページの一部をロードする必要があります。私はページ区切りの呼び出しのたびにこれを行うことができましたが、実際には役に立たないようです。ここでjquery loadを使用してロードされたdivタグの内容をチェックする方法は?
は私の現在のコードブロックです:
$.address.change(function(e) {
var urlAux = e.value.split('=');
var page = urlAux[0];
var start = urlAux[1];
if (page == "/visits") {
$.address.title("Profile Views");
if (start) {
$('#start').val(start);
// ***** If a user has copied and pasted this URL with a start value then I first need to load visits.php in the main div tag. Is it possible to see if this is loaded or not?
$.post("visits_results.php", $("#profile_form_id").serialize(),
function(data) {
$('#search_results').html(data);
location.href = "#visits=" + start;
});
}
else {
var args = localStorage.getItem("visits");
$('#main').load("visits.php?" + args, function() { });
}
}
私試みた仕事は周りのこのでした:より良い方法があるに違いありません
var args = localStorage.getItem("visits");
$('#main').load("visits.php?" + args, function() {
$('#start').val(start);
$.post("visits_results.php", $("#profile_form_id").serialize(),
function(data) {
$('#search_results').html(data);
location.href = "#visits=" + start;
});
});
...これはページの同じ部分をrealoadingれます(visits.php)をページングイベントごとに追加します。 URLを読み込み、アドレスの変更を引き起こさないようにするより良い方法はありますか?
私はあなたの全体的な目標が何であるかわかりません。あなたが常に必要とする「visits.php」のhtml /フォームデータをフォーマットしたように聞こえますが、空白のときにページを含めて推測しています。それはそれを合計しますか? – DefyGravity
visits.phpは、投稿時に結果がページの別のdivタグに返される単なるフォームです。改ページコントロールはvisits.phpページの一部です。問題は、すべてのページを変更した後にページのvisits.php部分を読み込む必要がある場合、ページングコントロールが毎回読み込まれると「点滅」してしまうことです。フォームを一度ロードすることはできますが、ユーザーがブラウザに直接URLを入力すると失敗します。私はこれを検出し、visits.phpフォームを一度だけロードするか、すでにロードされているかどうかを判断する方法が必要です。何かご意見は? – Paul
もう少しハッキングした後、私はこのやり方をするようなこの解決策を思いついた。私はそれがどれほど良いのか分かりませんが、そのトリックをするようです。私は今、メインdiv IDを取得し、フォーム内の一意の文字列に正規表現マッチを行います。表示されない場合は、フォームをロードして結果をロードします。これが良い練習であるかどうかわからないけど、私の問題を解決するようです。 – Paul