効果的なスクロールを作成するために、ページ間で値を渡すためにローカル ストレージを使用しています (ユーザーがリンクをクリックすると、ID に基づいてページの特定の部分にスクロールされます)。
以前は Cookie を使用していましたが、Android では動作しないようでした。ローカル ストレージがサポートされていると読んだので、それに切り替えました。ブラウザでは問題なく動作しますが、ネイティブアプリとしてパッケージ化するとすぐにすべての機能が失われますか? API は、それをサポートする必要があると述べていますが、何かアイデアはありますか?
これが私のコードです:
ベース URL:
var storage = window.localStorage;
$("a.scroll_link").click(function(event) {
event.preventDefault();
var value = $(this).attr("id");
storage.setItem("key",value);
console.log(value);
window.location=$(this).attr("href");
});
受信 URL:
$(function () {
var value = window.localStorage.getItem("key");
if (value != "" && value != "undefined" && value != null) {
var storage = window.localStorage;
storage.setItem("key",value);
var scroll_type = "";
if ($.browser.webkit) {
scroll_type = "body";
} else {
scroll_type = "html";
}
$(scroll_type)
.stop()
.animate({
//get top-position of target-element and set it as scroll target
scrollTop: ($("#" + value).offset().top - 25)
//scrolldelay: 1.5 seconds
}, {
duration: 1500,
complete: function () {
storage.removeItem("key");
},
});
}
});
コードはブラウザで正常に動作しますが、ネイティブではありません。アイデアはありますか?
ありがとう、