PIXNET Logo登入

流風羽的部落格

跳到主文

歡迎光臨流風羽在痞客邦的小天地

部落格全站分類:數位生活

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 12月 27 週二 201113:30
  • HTML5 Web Storage


HTML5 提供了兩種新物件 可在客戶端儲存資料
 

1. localStorage - 無時間限制的儲存資料

2. sessionStorage - 將資料儲存於 Session

 

早期這些動作是利用 Cookies 來達成,但 Cookies 不適用於大量的資料,因為每次的 Request 都會將 Cookies 送出,要是儲存於 Cookies 的資料量很大,則會導致執行效能變得非常慢。

 

HTML5 中, 這些資料不需要於每次的 Request 都隨著送出,只有被要求時才會使用,達到可儲存大量資料亦不會拖垮效能的效果。

 

不同網站的資料儲存於不同的位置,而各網站只能存取自己儲存的資料。

 

HTML5 使用 Javascript 來儲存及存取這些資料。

 

以下為 localStorage 使用範例(無時間限制)

 

<script type="text/javascript">

// 建立 localStorage 的 lastname 屬性並指定值

localStorage.lastname="Smith";

// 輸出 localStorage 的 lastname 屬性所儲存的值

document.write(localStorage.lastname);

</script>

 

以下範例為到訪網頁的計次功能

 


<script type="text/javascript">

// 若 localStorage 的 pagecount 屬性存在則直接加 1, 不存在則指定 1

if (localStorage.pagecount)

  {

  localStorage.pagecount=Number(localStorage.pagecount) +1;

  }

else

  {

  localStorage.pagecount=1;

  }

// 輸出到訪次數

document.write("Visits "+ localStorage.pagecount + " time(s).");

</script>

 

以下為 sessionStorage 使用範例(使用者關閉瀏覽器時其值會被清空)

 


<script type="text/javascript">

// 建立 sessionStorage 的 lastname 屬性並指定值

sessionStorage.lastname="Smith";

// 輸出 sessionStorage 的 lastname 屬性所儲存的值

document.write(sessionStorage.lastname);

</script>

 

以下範例為到訪網頁的計次功能

 


<script type="text/javascript">

// 若 sessionStorage 的 pagecount 屬性存在則直接加 1, 不存在則指定 1

if (sessionStorage.pagecount)

  {

  sessionStorage.pagecount=Number(sessionStorage.pagecount) +1;

  }

else

  {

  sessionStorage.pagecount=1;

  }

// 輸出到訪次數

document.write("Visits "+sessionStorage.pagecount+" time(s) this session.");

</script>




(繼續閱讀...)
文章標籤

流風羽 發表在 痞客邦 留言(0) 人氣(253)

  • 個人分類:HTML5
▲top
  • 12月 27 週二 201111:47
  • HTML5 Canvas 範例(繪製影像)


以下為 HTML5 Canvas 繪製影像
 

<!DOCTYPE html>

<html>

<body>



<canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;">

Your browser does not support the canvas element.

</canvas>



<script type="text/javascript">

window.onload=function()

{

// 取得 Canvas 元素

var c=document.getElementById("myCanvas");

// 建立繪製物件

var ctx=c.getContext("2d");

// 建立影像物件

var img=new Image();

// 指定影像來源

img.src="img_flwr.png";

// 繪製影像 參數依序為 影像物件, x, y

ctx.drawImage(img,0,0);

}

</script>



</body>

</html>


 


結果如下

 





(繼續閱讀...)
文章標籤

流風羽 發表在 痞客邦 留言(0) 人氣(282)

  • 個人分類:HTML5
▲top
  • 12月 27 週二 201111:41
  • HTML5 Canvas 範例(繪製線型漸層)


以下為 HTML5 Canvas 繪製線型漸層範例
 

<!DOCTYPE html>

<html>

<body>



<canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;">

Your browser does not support the canvas element.

</canvas>





<script type="text/javascript">

// 取得 Canvas 元素

var c=document.getElementById("myCanvas");

// 建立繪製物件

var ctx=c.getContext("2d");

// 建立線型漸層物件 參數依序為 x0(x起始點)、y0(y起始點)、x1(x結束點)、y1(y結束點)

var grd=ctx.createLinearGradient(0,0,175,50);

// 設定顏色位置 參數依序為 position(0.0 到 1.0,0 即為起始點,1 即為結束點)、顏色代碼

grd.addColorStop(0,"#FF0000");

// 設定顏色位置 參數依序為 position(0.0 到 1.0,0 即為起始點,1 即為結束點)、顏色代碼

grd.addColorStop(1,"#00FF00");

// 設定填滿樣式

ctx.fillStyle=grd;

// 執行填滿繪製 參數依序為 x、y、width(寬)、height(高)

ctx.fillRect(0,0,175,50);



</script>



</body>

</html>

 


結果如下

 




(繼續閱讀...)
文章標籤

流風羽 發表在 痞客邦 留言(0) 人氣(1,840)

  • 個人分類:HTML5
▲top
  • 12月 27 週二 201111:23
  • HTML5 Canvas 範例(繪製圓形)


以下為 HTML5 Canvas 繪製圓形範例
 

<!DOCTYPE html>

<html>

<body>



<canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;">

Your browser does not support the canvas element.

</canvas>



<script type="text/javascript">

// 取得 Canvas 元素

var c=document.getElementById("myCanvas");

// 建立繪製物件

var ctx=c.getContext("2d");

// 設定顏色

ctx.fillStyle="#FF0000";

// 清空現行路徑,開始新路徑。

ctx.beginPath();

// 繪製圓形 參數依序為 x、y、半徑r、起始角度、結束角度、順時針繪製

ctx.arc(70, 18, 15, 0, Math.PI * 2, true);

// 封閉路徑

ctx.closePath();

// 執行繪製(填滿)

ctx.fill();

</script>



</body>

</html>


  

結果如下

 




(繼續閱讀...)
文章標籤

流風羽 發表在 痞客邦 留言(1) 人氣(2,697)

  • 個人分類:HTML5
▲top
  • 12月 27 週二 201111:08
  • HTML5 Canvas 範例(繪製線段)


以下為 HTML5 Canvas 繪製線段範例
 

<!DOCTYPE html>

<html>

<body>



<canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;">

Your browser does not support the canvas element.

</canvas>



<script type="text/javascript">

// 取得 Canvas 元素

var c=document.getElementById("myCanvas");

// 建立繪製物件

var ctx=c.getContext("2d");

// 將繪製點移至 10, 10

ctx.moveTo(10,10);

// 自 10, 10 繪製一條直線至 150, 150

ctx.lineTo(150,50);

// 自 150, 150 繪製一條直線至 10, 50

ctx.lineTo(10,50);

// 執行繪製

ctx.stroke();



</script>



</body>

</html>

  

結果如下

 



(繼續閱讀...)
文章標籤

流風羽 發表在 痞客邦 留言(0) 人氣(194)

  • 個人分類:HTML5
▲top
  • 12月 27 週二 201110:47
  • HTML5 Canvas



HTML5 Canvas 是用於繪製圖形於網頁上

 

必須使用 Javascript 來繪製

 

一個 Canvas 即為一個矩形區域,你可以控制它的每一個像素(Pixel)。

 

Canvas 提供了幾種方法來繪製各種圖形,或是增加圖片。

 

以下為 Canvas 宣告方式 指定 id、width、height

 

<canvas id="myCanvas" width="200" height="100"></canvas>

 

Canvas 並無屬性可以用來繪製,所有的動作必須使用 Javascript 來操作,以下範例。

 



<script type="text/javascript">

// 取得 Canvas 元素

var c=document.getElementById("myCanvas");

// 建立繪製物件

var ctx=c.getContext("2d");

// 設定顏色

ctx.fillStyle="#FF0000";

// 設定範圍 參數分別為 shape, position, size

ctx.fillRect(0,0,150,75);

</script>



 

結果如下圖

 



(繼續閱讀...)
文章標籤

流風羽 發表在 痞客邦 留言(0) 人氣(107)

  • 個人分類:HTML5
▲top
  • 12月 27 週二 201110:31
  • HTML5 Audio


目前 HTML5 audio 支援三種檔案格式
 

1. MP3

2. Wav

3. Ogg

 

針對個別瀏覽器的支援如下表

 




































BrowserMP3WavOgg
Internet Explorer 9 YES NO NO
Firefox 4.0 NO YES YES
Google Chrome 6 YES YES YES
Apple Safari 5 YES YES NO
Opera 10.6 NO YES YES

 

Tags

 














TagDescription
<audio> 定義音源內容
<source> 定義多個媒體資源, 如<video><audio>

 

Example

 

<audio controls="controls">
  <source src="song.ogg" type="audio/ogg" />
  <source src="song.mp3" type="audio/mpeg" />
  Your browser does not support the audio element.
</audio>


(繼續閱讀...)
文章標籤

流風羽 發表在 痞客邦 留言(0) 人氣(157)

  • 個人分類:HTML5
▲top
  • 12月 27 週二 201110:23
  • HTML5 Video 範例


以下為 HTML5 Video範例
 


<!DOCTYPE html>

<html>

<body>



<div style="text-align:center">

  <button onclick="playPause()">Play/Pause</button>

  <button onclick="makeBig()">Big</button>

  <button onclick="makeSmall()">Small</button>

  <button onclick="makeNormal()">Normal</button>

  <br />

  <video id="video1">

    <source src="mov_bbb.mp4" type="video/mp4" />

    <source src="mov_bbb.ogg" type="video/ogg" />

    Your browser does not support HTML5 video.

  </video>

</div>



<script type="text/javascript">

var myVideo=document.getElementById("video1");

// 撥放/暫停

function playPause()

{

if (myVideo.paused)

  myVideo.play();

else

  myVideo.pause();

}

// 放大

function makeBig()

{

myVideo.height=(myVideo.videoHeight*2);

}

// 縮小

function makeSmall()

{

myVideo.height=(myVideo.videoHeight/2);

}

// 還原

function makeNormal()

{

myVideo.height=(myVideo.videoHeight);

}

</script>



</body>

</html>

 




(繼續閱讀...)
文章標籤

流風羽 發表在 痞客邦 留言(0) 人氣(266)

  • 個人分類:HTML5
▲top
  • 12月 27 週二 201109:51
  • HTML5 Video


目前 HTML5 video支援三種檔案格式
 

1. MP4

2. WebM

3. Ogg

 

針對個別瀏覽器的支援如下表

 




































BrowserMP4WebMOgg
Internet Explorer 9 YES NO NO
Firefox 4.0 NO YES YES
Google Chrome 6 YES YES YES
Apple Safari 5 YES NO NO
Opera 10.6 NO YES YES

 

MP4 - 影像以 H264 編碼,音效以 ACC 編碼。

WebM - 影像以 VP8編碼,音效以 Vorbis 編碼。

Ogg - 影像以 Theora 編碼,音效以 Vorbis 編碼。

 

Tags

 


















TagDescription
<video> 定義影像或視訊
<source> 定義多個媒體資源, 如<video><audio>
<track> 定義媒體播放文字軌

 

Example

 

<video width="320" height="240" controls="controls">
  <source src="movie.mp4" type="video/mp4" />
  <source src="movie.ogg" type="video/ogg" />
  Your browser does not support the video tag.
</video>



(繼續閱讀...)
文章標籤

流風羽 發表在 痞客邦 留言(0) 人氣(137)

  • 個人分類:HTML5
▲top
1

部落格廣告

部落格廣告

個人資訊

流風羽
暱稱:
流風羽
分類:
數位生活
好友:
累積中
地區:

熱門文章

  • (12,165)[SQL Server] 解決資料庫還原版本向下相容的問題
  • (3,569)[Javascript] 引用外部 js 檔時利用屬性傳遞參數
  • (1,825)[.NET MVC] 使用多國語系
  • (776)度分秒 轉換成 經緯度
  • (685)jQuery Plugin ColorBox 自訂關閉
  • (652)不須 Google 密鑰使用 Google AJAX Search API
  • (403)將點陣列轉為 Geometry 資料
  • (282)HTML5 Canvas 範例(繪製影像)

文章分類

toggle Technology (30)
  • jQuery (2)
  • HTML5 (9)
  • Oracle Spatial (6)
  • Android (3)
  • PHP (2)
  • IIS (2)
  • Google API (3)
  • MapServer (4)
  • ASP.NET (11)
  • iOS (1)
  • OpenLayers (3)
  • Flex (13)
  • Eclipse (2)
  • Oracle (6)
  • C# (5)
  • Design Pattern (3)
  • PostgreSQL (3)
  • Python (8)
  • .NET MVC (3)
  • Other (1)
  • DB (1)
  • Javascript (6)
  • Action Script 3 (1)
  • QGIS (7)
  • Linux (2)
  • SQL Server (5)
  • Java (2)
  • VirtualBox (1)
  • Ruby on Rails (2)
  • GIS (3)
  • 未分類文章 (1)

最新文章

  • [SQL Server] 關於 Store Procedure 中使用 sp_executesql 執行 T-SQL 陳述式
  • [.NET Entity Framework] 找不到 Entity Key ???
  • [.NET MVC 4] 使用 ValidateAntiForgery 防止CSRF跨網站請求偽造攻擊
  • [.NET MVC] 使用多國語系
  • [iOS] Create APNs Key for PHP
  • [SQL Server] 解決資料庫還原版本向下相容的問題
  • [Javascript] 引用外部 js 檔時利用屬性傳遞參數
  • [SQL Server] Bak 檔案還原資料庫
  • [Android] 將 Bitmap 轉為指定格式圖片並儲存至 SDCard
  • [Android] 由 Extends View Class 關閉 App

最新留言

  • [17/06/12] 訪客 於文章「Oracle exp & imp 使用方...」留言:
    感謝您的教學...
  • [14/10/24] 小吳 於文章「HTML5 Canvas 範例(繪製圓形...」留言:
    借我複製玩玩喔,謝謝...
  • [14/07/01] 訪客 於文章「將 .ui 佈局檔轉換成 .py Pyt...」留言:
    於 PyQt4 目錄下輸入 pyuic4 -o [outPu...
  • [13/08/20] 路人 於文章「Oracle String 自動補零...」留言:
    是LPAD...
  • [13/03/12] aliceispig 於文章「Flex 等於運算符(==) 及 全等運...」留言:
    === 是代表 型別 值 全都相等 == 是代表值相等 ...
  • [12/10/01] Rami 於文章「利用 QT-Designer 製作程式佈...」留言:
    感謝分享~給了我很大的幫助~...
  • [12/02/20] 初學者 於文章「Flex 下載檔案...」留言:
    請問我要如何呼叫這段程式...
  • [11/09/09] 家豪 陳 於文章「建立 Oracle Spatial Ge...」留言:
    我要給你訂正一下 標題的 Special 是錯誤的........
  • [11/09/01] 楊哲偉 於文章「Flex 使用 POST 傳值...」留言:
    您好,我是FLEX的新手 看完這段程式有些問題想問 其中va...

文章精選

文章搜尋

參觀人氣

  • 本日人氣:
  • 累積人氣: