Header First HTML 5読書ノート
4673 ワード
JSONデータについては、xmlよりも読みやすく、ポピュラーなデータフォーマットjsでは数字、文字列、配列などの基本タイプがJSONデータに変換できるため、jsでは使用できない、JSON.stringify()は、jsタイプがJSONデータJSONに変換する.parse( );JSONデータの解析
AJAX
request.onloadは、サーバからデータを取得する要求が完了すると呼び出される関数を定義します.これはXMLHttpRequest Level 2の書き方(IE 8、Opera 10などより下位バージョンのブラウザではLeve 2はサポートされていません)XMLHttpRequest Level 1の書き方です.
ドメイン間ブラウザのセキュリティポリシー
ブラウザでは、以前に提供されたドメイン以外のドメインに対してXMLHttpRequestリクエストを発行することはできません.つまり、XMLHttpRequestでサードパーティのWebサイトデータを要求することはできません.JSONPを使用してこの問題を回避することができます.
JSONPとは、JSONオブジェクトをタグで取得する方法であり、以下のようにcallbackは定義されたコールバック関数</p>
<pre><code><script src="http://gumball.wickedlysmart.com/?callback=updateSales">
具体例:
var plan9movie = new Movie('Plan 9 form Outer Space', 'Cult Classic', 2, ['3:00pm', '7:00pm']);
var jsonString = JSON.stringify(plan9Movie);
var jsonMovieObject = JSON.parse(jsonString);
AJAX
window.onload = function(){
var url = 'http://wickedlysmart.com/ifeelluckytoday';
var request = new XMLHttpRequest();
request.onload = function(){
if (request.status = 200){
displayLuck(request.responseText)
}
};
request.open('GET', url);
request.send(null);
}
function displayLuck(luck) {
var p= document.getElementById('luck');
p.innerHTML = 'today you are' +luck;
}
request.onloadは、サーバからデータを取得する要求が完了すると呼び出される関数を定義します.これはXMLHttpRequest Level 2の書き方(IE 8、Opera 10などより下位バージョンのブラウザではLeve 2はサポートされていません)XMLHttpRequest Level 1の書き方です.
function init(){
var url = 'http://localhost/gumball/sales.json';
var request = new XMLHttpRequest();
request.onreadystatechange = function(){
if(request.readyState ==4 && request.status ==200){
updateSales(request.responseText);
}
};
request.open('GET', url);
request.send(null);
}
ドメイン間ブラウザのセキュリティポリシー
ブラウザでは、以前に提供されたドメイン以外のドメインに対してXMLHttpRequestリクエストを発行することはできません.つまり、XMLHttpRequestでサードパーティのWebサイトデータを要求することはできません.JSONPを使用してこの問題を回避することができます.
JSONPとは、JSONオブジェクトをタグで取得する方法であり、以下のようにcallbackは定義されたコールバック関数</p>
<pre><code><script src="http://gumball.wickedlysmart.com/?callback=updateSales">
具体例:
<h1>Mighty Gumball Sales</h1>
<div id="sales"/>
<script src="mightygumball.js"/>
<script src="http://gumball.wickedlysmart.com/?callback=updateSales"/>
********************************
mightygumball.js updateSales
function updateSales(sales){
var salesDiv = document.getElementById('sales');
for(var i=0; i<sales.length i="" var="" sale="sales[i];" div="document.createElement('div');" div.setattribute="" div.innerhtml="sale.name" sold="" sale.sales="" gumballs="" salesdiv.appendchild=""/></code></pre>
<h4>HTML5 </h4>
<p> , 300px * 150px, css , <br/> (IE9 )</p>
<pre><code><canvas id="lookwhatIdrew" width="600" height="200"/>
function previewHandler(){
var canvas = document.getElementById('lookwhiatdrew');
var context = canvas.getContext('2d');
context.fillStyle = 'lightbule';
context.fillRect(10, 10, 100, 100);
}
</code></pre>
<p>canvas.getContext('2d') <br/> context.fillStyle <br/> <strong>context.fillRect(x, y, w, h)</strong> ,x y , w, h <br/> <br/> <strong>context.beginPath(); </strong><br/> <strong>context.moveTo(x,y)</strong><br/> <strong>context.lineTo(x, y)</strong><br/> <strong>context.closePath();</strong></p>
<pre><code>
context.beginPath();
context.moveTo(100,150);
context.lineTo(250, 75);
context.lineTo(125, 30);
context.closePath();
context.lineWidth = 5; //
context.stroke(); //
context.fillStyle = 'red'; //
context.fill(); //
</code></pre>
<p> <br/> ** context.arc(x, y, radius, startAngle, endAngle, direction)**<br/> x, y <br/> radius <br/> startAngle ,x <br/> endAngle , y <br/> direction, True False, True , false </p>
<pre><code>//
function degreesToRadians(degrees){
return (degree * Math.PI)/180;
}
//
function drawCircle(canvas, context){
var radius = Math.floor(Math.random()*40);
var x = Math.floor(Math.random()*canvas.width);
var y = Math.floor(Math.random()*canvas.height);
context.beginPath();
context.arc(x, y, radius, 0,degreesToRadians(360), true)
context.fillStyle = 'lightblue';
context.fill();
}</code></pre>
</article>
</div>
</div>