此為標準的介面,用於 localStorage, sessionStorage 物件。可以使用 prototype 增加所有 物件的成員。
- 程式用法:
<script type='text/javascript'>
document.write( Storage +'<br />');
Storage.prototype.bike='賽車遊戲';
document.write( sessionStorage.bike +'<br />');
document.write( globalStorage['ant4js.blogspot.com'].bike +'<br />');
Storage.prototype.prt =
function ( s ) { document.write( s ) };
sessionStorage.prt('我很好');
</script>
<p><a href='http://ant4js.blogspot.com/2009/02/storagerd.html'>跳至測試頁</a>,看看可
不可以讀到。 - 執行結果:
function Storage() { [native code] }
賽車遊戲
跳至測試頁,看看可 不可以讀到。
- 上例,Firefox 成功;IE6, Safari, Chrome 失敗。
使用此存放的資料可以在不同視窗讀寫,但是限同一網站;並且可以長久保留在客戶電腦,即便此視窗關閉。限 Firefox 使用,未來可能增加標準的 localStorage。其語法是:
globalStorage['網址'].特徵名 = 值
網址例如 ant4js.blogspot.com。值必須是字串,所有的數值都必須轉換成字串。
- 程式用法:
<script type='text/javascript'>
document.write( globalStorage +'<br />');
globalStorage['ant4js.blogspot.com'].Game='射擊遊戲';
document.write( globalStorage['ant4js.blogspot.com'].Game );
</script>
<p>在另一個視窗開此頁 http://ant4js.blogspot.com/2009/02/storagerd.html ,看看可不可以讀到。 - 執行結果:
[object HTMLDivElement]
在另一個視窗開此頁 http://ant4js.blogspot.com/2009/02/storagerd.html ,看看可不可以讀到。
- 上例,Firefox 成功;IE6, Safari, Chrome 失敗。
使用此存放的資料可以在不同視窗讀寫,但是限同一網站;並且可以長久保留在客戶電腦,即便此視窗關閉。Firefox 使用 globalStorage。
- 程式用法:
<script type='text/javascript'>
document.write( localStorage +'<br />');
localStorage.Jolin='蔡依林';
document.write( localStorage.Jolin );
</script>
<p><a href='http://ant4js.blogspot.com/2009/02/storagerd.html' target=_blank>
新開測試頁</a>,看看可不可以讀到。 - 執行結果:
[object Storage]
蔡依林新開測試頁,看看可不可以讀到。
- 上例,IE6, Firefox, IE6, Safari, Chrome 都失敗。
此物件是要改善資訊片(cookie)會被多個視窗讀取的情形。例如用戶對同一網站開了兩三個瀏覽器視窗,此時用戶在其中一個視窗運作,產生的資訊片,其它視窗都可以讀取;這有可能導致用戶在購物網站重複購買相同的商品而未察覺。使用 sessionStorage 存放的資訊,只有同一視窗中同一網站的任一網頁可以讀取;視窗關閉時,存放的資料會被刪去。
- 程式用法:
<script type='text/javascript'>
document.write( sessionStorage +'<br />');
sessionStorage.JAY='周杰倫';
document.write( sessionStorage.JAY );
</script>
<p><a href='http://ant4js.blogspot.com/2009/02/storagerd.html'>跳至測試頁</a>,看看可不可以讀到。 - 執行結果:
[object Storage]
周杰倫跳至測試頁,看看可不可以讀到。
- 上例,Firefox 成功;IE6, Safari, Chrome 失敗。