リンク
インターシステムズ(日) └日本語ドキュメント インターシステムズ(US) (有)エムブイビイ ダイナシステム(株) Googleグループ(英語) Googleグループ(日本語) George James Software cache'infoアーカイブ 【広告】
|
CSPとjQueryを組み合わせるCSP with JQuery.
JavaScriptのライブラリの中でも最も人気があるjQueryですが、最近CSPと組み合わせることが多くなってきました。 CSPとjQueryを組み合わせることで、どのようなことが出来るのか紹介したいと思います。 jQueryとは?JavaScriptのライブラリで
40分で覚える!jQuery速習講座 (http://ascii.jp/elem/000/000/498/498710/) jQuery日本語リファレンス(http://semooh.jp/jquery/) などを参照して下さい。 どのように使うかjQueryのサイトからダウンロードしたライブラリ本体をWebサーバーに置いてCSPファイルから参照するのが基本的な方法ですが、一般的にはGoogle CDNを使用することが多いと思います。Google CDNを使用する場合は、CSPソースコードの<head>〜</head>中に以下のように記述します。 <head> <!-- Put your page Title here --> <title> Cache Server Page </title> <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> </head> どのようなことが出来るかこのページの<a>タグでリンクされているurlを全て表示しますこのような処理をjavascriptでコーディングするのは、かなり骨の折れる作業でしたが、jQueryによってかなり容易になりました。 ソースコードはこのようになっています。 function step1(){ $('#test').empty(); // id=testの中身を全部空にする $('a').each(function(){ // ページ中の全てのaタグについて、以下を実行 var url=$(this).attr('href'); // href内を変数urlに格納 $('#test').append('<div>'+url+'</div>'); //id=testに取得したurlを<div>で囲んで追加 }); $('#step2').show('slow'); // id=step2を表示する } function step2(){ $('#test div:even').css('background-color','royalblue'); // id=testの中の偶数個目のdivについて、背景色を設定 $('#test div:odd').css('background-color','darkviolet'); // id=testの中の奇数個目のdivについて、背景色を設定 $('#step3').show('slow'); // id=step3を表示する } function step3(){ $('#test div').append('<input type=button class=Edit><input type=button class=Delete>'); // id=test の中の divそれぞれに ボタンを2つずつ追加 $('#test div input.Delete') // id=test の中の div の中の input のうち class=Deleteのものについて、 .attr('value','Delete') // value=Delete を設定 (ボタンにDeleteと表示) .click(function(){ $(this).parent('div').remove(); }); // クリックされたらボタンを含むdivを空にする $('#test div input.Edit') // id=test の中の div の中の input のうち class=Deleteのものについて、 .attr('value','Edit') // value=Edit を設定 (ボタンにEditち表示) .click(function(){ // ボタンがクリックされたら var str=prompt("適当に変更してみて",$(this).parent('div').text()); // 入力ダイアログを表示 $(this).parent('div').text(str); // 入力された内容を反映 }); }特にブラウザ毎・バージョン毎の違いの多くをjQueryが吸収してくれるのが非常にありがたいです。 CSPとjQueryを組み合わせて、より使いやすいサイトを作っていきましょう。 |