2011-12-29 3 views
0

私は典型的なウェブページから「雑誌」を作成するjavascriptエンジンを持っています。いくつかのWebページには別々の「問題」があり、すべてが書式設定と動作を駆動する同じjavascriptエンジンを使用します。ユニークなローカルストレージをドメイン上のユニークなWebページに結びつける最も良い方法

エンジンは、ローカルストレージを使用して、ユーザーが最後に雑誌の問題を読んだときに、そのユーザーがあった問題の「ページ」を覚えています。

localStorage.setItem('currentPage',JSON.stringify(currentPage)); 
var currentPage = JSON.parse(localStorage.getItem('currentPage')); 
var remover = $('.article-wrapper:eq(' + currentPage + ')'); 

私の問題は、私は「秋」というタイトルの雑誌の5ページを訪問した場合、それを閉じて「春」というタイトルの雑誌を開いて、である、私は自動的に春の5ページを開始します。

問題のhtmlにある各issueに固有の 'currentPage'変数名を設定する方法はありますか?エンジンのjavascriptでそれを読んでから、コンピュータ/デバイスのローカルストレージに保存しますユーザーは使用していますか?

これらの2つのサイトにアクセスして問題をテストできます。両方を開きます。 1つのサイトの5ページに移動し、もう一方のサイトを更新します。他のページ番号に変更されます。

http://straathof.acadnet.ca/autumn/

http://straathof.acadnet.ca/portfolio/

答えて

2

の代わりに簡単な整数としてcurrentPageを格納し、そのURLの現在のページのURLとページの両方を追跡するオブジェクトを格納します。例えば

:あなたがキーとして完全なURLを持つ気に入らない場合

// When saving the current page. 
var currentPage = new Object(); 
var url = window.location.pathname; 
currentPage[url] = 9; 
localStorage.setItem('currentPage', JSON.stringify(currentPage)); 

// When loading the current page. 
var currentPage = JSON.parse(localStorage.getItem('currentPage')); 
var remove = $('.article-wrapper:eq(' + currentPage[url] + ')'); 

、あなたはページ名を検索しindexOfを使用することができます。詳細については、this StackOverflow answerを参照してください。

+0

ありがとう、@BrantOlsen。残念ながら、このページはウェブページそのものではありません。この雑誌の「問題」全体が1つの「Webページ」です。それぞれの記事(そのうちの1つは「現在のページ」として定義されています)は数値で格納され、そのWebページの可視部分です。 – nosarious

+0

カルーセルのタブまたは「次へ/前へ」ボタンをクリックしたときの情報と考えてください。情報が画面全体を占有するように高度に変更されています。 – nosarious

+0

問題自体は、currentpage変数を格納するということは、ドメイン内のどのWebページも同じ値を持つことを意味します。したがって、上記の場合、秋の「問題」の記事「5」を訪問すると、ポートフォリオ「問題」を開いたときに記事5で自動的に開始されます。 – nosarious

関連する問題