0

jquery mobile を使用して Web サイトに取り組んでいます。リンクのリストを含むページでは、ページ サイズ (javascript で取得) を示すハイパーリンクにクエリ文字列パラメーターを追加する必要があります。というわけで、リンク

/view/id:1

なるべき

/view/id:1?size={sizeInPixels}

マークアップされたリストは次のようになります。

<li><a data-ajax="false" class="imagelink" href="/view/id:2840"><h2>text here</h2></a></li>
<li><a data-ajax="false" class="imagelink" href="/view/id:2841"><h2>text here</h2></a></li>

JavaScriptは次のとおりです。

$(document).on('pageinit', '[data-role="page"]', function() {
        var newSize = $(window).height()*.8;
        newSize = parseInt(newSize); 
        $("a.imagelink[href!='ignore']").each(function() {
                this.href += '?size=' + newSize;
        });
});

ページが最初にアクセスされるとき、サイズ パラメータは追加されません。ページが更新されると、正常に動作します。

ユーザーが最初にページをロードしたときに、サイズ パラメータを追加するにはどうすればよいですか?

4

1 に答える 1

1

したがって、基本的に、サイズ情報を提供する画像へのリンクのリストがあり、サーバー側でサイズを変更して、ディスプレイの高さを考慮に入れることができます。これを実現するには、スクリプト クライアント側を実行して、これらのリンクの href を変換し、このクエリ文字列パラメーターを含めます。

リンクが DOM に入る前にスクリプトが実行されている可能性があるため、最初はスクリプトが失敗し (まだすべてをロードする必要がある場合)、2 回目は (キャッシュから来ているため) 動作する可能性があります。

編集:スクリプトを削除しました(jQueryモバイルではなくjQueryだったため)。Stanoがコメントで提供した次の URL を見てください。 .1/docs/api/events.html

于 2013-06-25T09:20:00.813 に答える