ラベル library の投稿を表示しています。 すべての投稿を表示
ラベル library の投稿を表示しています。 すべての投稿を表示

2013年5月1日水曜日

CDNから 各種JavaScriptライブラリを読み込むサンプルコード

下記のJavaScript(/CSS)ライブラリをCDNから読み込むためのサンプルコード。
  • jQuery
  • jQuery Mobile
  • jQuery UI
  • Twitter Bootstrap

共通事項として、URLのスキーム(http等)を省略すればhttpでもhttpsでも使える。
が、
CSSでスキームを省略するとIE8以下が2回サーバにアクセスするという問題があるので、下記ではCSSも使う場合はスキームをhttpにした。httpsで使いたい場合はhttpsにするか、上記の問題を無視していいならスキームを省略すればよい。


jQuery

cdnjs (by CloudFlare)
<script src=”//cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js”></script>

Microsoft (Ajax Content Delivery Network)
<script src=”//ajax.aspnetcdn.com/ajax/jQuery/jquery-1.9.1.min.js”></script>

Google (Hosted Libraries)
<script src=”//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js”></script>
常に1.x系の最新版にする場合(※なぜか”2”や”1.9”という指定だと404 Not Foundになる)
<script src=”//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js”></script>

jQuery (CDN by Media Temple)
(https不可)
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
常に最新版にする場合(現時点の最新版の2.0.0ではなく1.9.1がロードされた)
<script src="http://code.jquery.com/jquery.min.js"></script>


jQuery Mobile

cdnjs (by CloudFlare)
<link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/jquery-mobile/1.3.1/jquery.mobile.min.css" />
<script src=”http://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js”></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery-mobile/1.3.1/jquery.mobile.min.js"></script>

Microsoft (Ajax Content Delivery Network)
(現時点の最新版の1.3.1がまだ無い)
<link rel="stylesheet" href="http://ajax.aspnetcdn.com/ajax/jquery.mobile/1.3.0/jquery.mobile.structure-1.3.0.min.css" />
<script src=”http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.9.1.min.js”></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.mobile/1.3.0/jquery.mobile-1.3.0.min.js"></script>

jQuery (CDN by Media Temple)
(https不可)
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.css"/>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.js"></script>
常に最新版にする場合
(”1.4.0pre”になる。アルファ版未満のバージョン?)
<link rel="stylesheet" href="http://code.jquery.com/mobile/latest/jquery.mobile.min.css" />
<script src="http://code.jquery.com/jquery.min.js"></script>
<script src="http://code.jquery.com/mobile/latest/jquery.mobile.min.js"></script>


jQuery UI
テーマが”start”の場合(※cdnjsを除く)。

cdnjs (by CloudFlare)
(テーマは”lightness”と”smoothness”しかない?CSSに”custom”が付いているのはなぜ?i18nが無い)
<link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.10.2/css/smoothness/jquery-ui-1.10.2.custom.min.css" />
<script src=”http://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js”></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js"></script>

Microsoft (Ajax Content Delivery Network)
(Datepikcerの日本語化もする場合)
<link rel="stylesheet" href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.10.2/themes/start/jquery-ui.min.css" />
<script src=”http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.9.1.min.js”></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.10.2/jquery-ui.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.10.2/i18n/jquery.ui.datepicker-ja.min.js"></script>

Google (Hosted Libraries)
(Datepikcerの日本語化もする場合)
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/themes/start/jquery-ui.min.css" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/i18n/jquery.ui.datepicker-ja.min.js"></script>
常に最新版にする場合
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/smoothness/jquery-ui.min.css" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1/i18n/jquery.ui.datepicker-ja.min.js"></script>

jQuery (CDN by Media Temple)
(https不可。i18nが無い。常に最新版にすることもできないようだ)
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.2/themes/start/jquery-ui.min.css" />
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://code.jquery.com/ui/1.10.2/jquery-ui.min.js"></script>


Twitter Bootstrap
レスポンシブにして、Font Awesomeも併用した場合。

cdnjs (by CloudFlare)
(Bootswatchは無い)
<link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.3.1/css/bootstrap.min.css" />
<link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.3.1/css/bootstrap-responsive.min.css" />
<link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/font-awesome/3.0.2/css/font-awesome.min.css" />
<!--[if IE 7]>
<link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/font-awesome/3.0.2/css/font-awesome-ie7.css" />
<![endif]-->
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.3.1/js/bootstrap.min.js"></script>

BootstrapCDN (by NetDNA)
Bootswatchも併用した場合。Font Awesomeを使わない場合は、no-iconsではなく通常のCSSを読み込むようにする。jQueryはBootstrapCDNからは供給されていないので例としてGoogleからにした)
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/css/bootstrap-combined.no-icons.min.css" />
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/css/bootstrap-responsive.min.css" />
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootswatch/2.3.1/united/bootstrap.min.css" />
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/font-awesome/3.0.2/css/font-awesome.min.css" />
<!--[if IE 7]>
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/font-awesome/3.0.2/css/font-awesome-ie7.css" />
<![endif]-->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/js/bootstrap.min.js"></script>
常に最新版にする場合
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/twitter-bootstrap/latest/css/bootstrap-combined.no-icons.min.css" />
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/twitter-bootstrap/latest/css/bootstrap-responsive.min.css" />
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootswatch/latest/united/bootstrap.min.css" />
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css" />
<!--[if IE 7]>
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/font-awesome/latest/css/font-awesome-ie7.css" />
<![endif]-->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/latest/js/bootstrap.min.js"></script>


余談
URLがのきなみ長いのは、MicrosoftやcdnjsがGoogleに合わせてしまったからか。GoogleのURLが長いのは歴史的経緯の影響が大きいだろう。 (何回か名前が変わったが、URLのパス部分は変えなかった。今なら js.gapi.com/jqeury/1/jquery.min.js とかにできるだろうに。)
また、BootstrapCDNのPopular Files Overviewは興味深い。


参考

2013年4月28日日曜日

JSの CDNの速度比較 (2013年版)

jQueryとTwitter Bootstrapをhttpで3回ロードし、その平均値を比較してみた。


Library
CDN
load時間
https
最新版取得
jQuery 1.9.1 (min)
Google
0.215
○(メジャーバージョン番号ごと)

jQuery CDN
0.550
×
○(Nightly Build?)

Microsoft
0.139
×

cdnjs
0.069
×
Bootstrap 2.3.1 (min.js)
cdnjs
0.087
×

BootstrapCDN
0.243

以前測ったときはGoogle Hosted Libraries(当時はGoogle Ajax Librariesとかそんな名前だった気がする)が今回のcdnjs並みに速かったが、なぜかMSより遅くなっていた。CDNの拠点お日本から撤退させたのだろうか?(cdnjsは東京にも拠点がある。)

cdnjsはHTTPSも使えるし、GoogleにないjQuery MobileやFont Awesomeもあるから、今後はcdnjsでいいのかもしれない。
ただ、以前はライブラリのバージョンアップが遅かった気がするので、そのあたりは気になる。
それからBootswatchはBootstrapCDNにしかなかった。

また、jQueryの本家CDNでjQuery Mobileのlatestを取得したら1.4.0preというバージョンになった。アルファより前ということなのかな?

2012年4月11日水曜日

JavaScriptライブラリ備忘録

使ってたり、使ったことがあったり、使うことがありそうなJavaScriptライブラリを忘れないようにメモ。


2011年9月29日木曜日

PHPExcelで PDFが文字化けする問題の解決方法


PHPExcelではExcelの他にPDFも出力できる。

$writer = PHPExcel_IOFactory::createWriter($xls, "PDF");
$writer->save($path);
しかし、これだとPDFで日本語を出力しようとすると文字化けする。

文字化けを回避するには、フォントをセットする必要がある。
$writer = PHPExcel_IOFactory::createWriter($xls, "PDF");
$writer->SetFont('arialunicid0-japanese');
$writer->save($path);
これができるようになったのはわりと最近のようだ。(参考:PHPExcel - phpexcel - View Issue #11919: Can't set font on writing PDF

ただし環境によってはこれでも見られないらしい。(参考:PHPExcel の PDF出力で日本語文字化け2 携帯ビューア - PC・通信メモ


また、PHPExcelで作るPDFはExcelとして出力した場合と比べていろいろ違う(罫線とか数値フォーマットとか横幅とか)ので、綺麗に出すにはPDF用にいろいろ工夫しないといけないようだ。


参考

2011年8月5日金曜日

YUI3の Calendarウィジェット



YUI2にはあるけどYUI3には無いCalendarが、YUI3の次期バージョンである3.4でリリースされるようだ。


Calendar - YUI Libraryを参考に使ってみたら、簡単に使えた。
上記画像のように、YUI2のカレンダーよりちょっとかっこいい?
ただし、ここに書いてあってもまだ未実装の機能もあるようだ。
さらに、イベントハンドラ等、詳細についてはここには書いてない。詳細はAPI docsを見ろと書いてあるが、そのリンク先は現時点ではNot Found。


また、formへの日付入力で活躍するDatepicker機能はさらに次バージョンの3.5で実装予定のようだ。
The calendar is currently not enabled with popup functionality: it will be released as a calendar plugin in 3.5


2011年2月2日水曜日

Web form用入力ヘルパー JavaScriptライブラリいろいろ


Webページのformの入力を楽にしてくれるヘルパーJavaScriptツールのメモ。


郵便番号から住所を取得


(日本郵政はもうあきらめるとして、)ヤマト運輸あたりが郵便番号⇔住所変換APIを公開したら拍手喝采されそうなのに。

ライブラリじゃなければこんなのもある → floatingdays: 郵便番号検索APIのまとめ



都道府県を選択

jsmapは面白いけど、業務用として使うならjqselectableの方が一覧性があって使いやすい(選び易い)と思う。



日付を選択

Datepickerってプロフィール入力とかでよくある誕生日の入力には向かないので、年無しの月日だけの入力補助ってないのかな?

あと昔まとめたのはこちら → floatingdays: JavaScriptでページ上にカレンダーをポップアップ表示するライブラリのリンク集



(2011/3/18 追加)
ひらがな・カタカナ変換

2010年10月26日火曜日

ファイル1つだけで出来ている 便利なPHP製ツールいろいろ

PHPライブラリは新時代に入った。定番だったphpMyAdminやPEAR::Mailはもう古い。最近は1ファイル配置するだけで簡単に使える便利なツールが増えてきた。

例えばこんなの。



次は1ファイルのフレームワークだね。(Google Code上にはもうたくさん公開されてるけど...)
あるいは1ファイルのブログシステムやWikiか?

2010年9月22日水曜日

フリーで使えるJavaScriptと CSSの CDNいろいろ

httpsが使えるのはGoogleとMSのみ。
httpsに拘らないならCached Commonsがライブラリ豊富で便利そう。
でも使いたいライブラリがGoogle Libraries APIで間に合うならGoogle Libraries APIでいいんじゃないかな。レスポンス速度が速いし。
(レスポンス速度はminファイルのロード時間を4回計った2~4回目の平均値。状況によって変わってくるだろうから、参考程度に。)


Google Libraries API

  • 主要なJavaScriptライブラリをホスティングしている
  • バージョン指定でメジャーバージョンのみの指定や、マイナーバージョンまでの指定等が可能
  • https可
  • YUIはバージョン2しかない
  • ブラウザキャッシュは1時間 or 1年間(参考:floatingdays: Google AJAX Libraries APIのブラウザキャッシュ期間
  • レスポンス速度
    • jQuery:0.069秒 
    • YUI 2 YUI Loader:0.066秒


Microsoft Ajax Content Delivery Network - ASP.NET Ajax Library
  • ASP.NET関連以外ではjQuery関連の3つをホスティングしている。Validationプラグインは便利かも?
    • jQuery
    • jQuery UI
    • jQuery Validationプラグイン
  • https可
  • ブラウザキャッシュは1年間(max-ageとExpiresが違う気がする?)
  • レスポンス速度
    • jQuery:0.161秒


YUI
  • httpsは使えない
  • JavaScript、CSSをそれぞれ1つずつにまとめられる(Combine Files)のは便利
  • ブラウザキャッシュは10年間
  • レスポンス速度
    • YUI 2 YUI Loader:0.181秒


Cached Commons


JsLoad: Remote loading API of JavaScript library
  • Google App Engineで作られている
  • 2008年10月から更新されていないようだ


JavaScript Host(←※リンク切れ)
  • 閉鎖しちゃったみたい


(2010/10/19 追加)
jQuery Code Server
  • jQuery自身によるjQueryのホスティング
  • ダウンロード用のファイルをそのままhotlinkしてよいことにしたようだ
  • jQuery UIとかプラグインは提供しないのかな?



参考

2010年1月30日土曜日

便利なjQueryプラグイン

そこはかとなくメモ。

  • Cookie plugin
    • Cookieを簡単に扱える
  • jQuery Easing Scroll
    • ページ内リンクをクリックされた時に、スムーズにスクロールするようになる
    • 内部的にjQuery Easing Pluginを使っている
  • s3Slider
    • 複数の画像の切り替えをエフェクトを付けてかっこよく表示する

2009年12月2日水曜日

もう一歩踏み込んでGoogle Maps APIを使いこなすための12の参考サイト

(2010/09/02:情報が古くなっていたので全面的に改定)


Google Codeにあるもの(全て英語)

Google Maps JavaScript API V2 Reference - Google Maps JavaScript API V2 - Google Code

  • Google Maps API V2(Version 2)のリファレンス
  • V2は既にDeprecatedだが、V3にはまだ無い機能もあるので場合によってはV2が必要になる
  • 日本語のリファレンスはどこにいった?(以前からUpdateが追いついていなかったが...)

Google Maps Javascript API V3 Reference - Google Maps JavaScript API V3 - Google Code
  • Google Maps API V3 (Version 3)のリファレンス
  • V2には無かった円を描く機能がある

gmaps-utility-library-dev - Project Hosting on Google Code

google-maps-utility-library-v3 - Project Hosting on Google Code
  • Google Maps API V3のための準公式プラグイン集
  • だいぶ増えてきた
  • Google Maps API V3にはまだ無いOverview Controlを追加するプラグインもある

gmaps-api-v3-googlebar - Project Hosting on Google Code
  • Google Maps API V3にはまだ無いGoogleBar(Local Search Control、検索窓)を追加するプラグイン

google-maps-icons - Project Hosting on Google Code

Dynamic Icons - Google Chart Tools / Image Charts (aka Chart API) - Google Code
  • Google Chart APIの、動的にアイコンを生成する機能
  • 生成したアイコンはGoogle Mapsのマーカー画像として使える

gmaps-api-issues - Project Hosting on Google Code
  • Google Maps APIへの要望やバグ報告など

(おまけ)
Google Mapsの中心人物だったPameraさんのGoogle Code上のプロジェクト一覧
pamela.fox - Project Hosting on Google Code



その他


Google Maps 活用講座 - GoogleマップAPIの使い方を分かりやすく解説!
  • 初心者から上級者まで参考になりそう

Google Mapsをほどよくカスタマイズしてお手軽に表示 - Google Mapper [ゼロと無限の間に]
  • Google Maps API V2をサクッと使うためのプラグイン

Google Maps API V3を使って地図をお手軽に表示 - Google Mapper V3 [ゼロと無限の間に]
  • Google Maps API V3をサクッと使うためのプラグイン

2009年9月24日木曜日

PNGの画像を IE6で透過にするライブラリ調査メモ

IE6では透過PNGが透過しない。それを無理やり透過させてしまうJavaScriptライブラリを調べたメモ。





DD_belatedPNGが一番良さそうかな?


参考:
ITキヲスク | IE6で透過pngを表示させるオススメscript、「DD_belatedPNG.js」

Highslide JSでimage mapのリンクを扱う場合の注意点

Highslide JSは普通のリンクだけでなく、Image Mapのリンクでもページ内ポップアップができる。

しかし、IEで表示した場合、Image Mapのリンクをクリックすると下記の現象が起きる場合がある。

  • リンク(Image Map)の場所に関わらず、「Loading」の表示がページの左上に表示される
  • ポップアップ表示も、ページの左上を基点として拡大・縮小する

Image Mapがページを下にスクロールした位置にある場合、Loadingの表示が無いように見える。


解決策はここに書いてあった。
Highslide JS • View topic - Headline HTML problems with IE while fine in Firefox
Try using highslide-full.js instead of highslide-with-html.js.

highslide-full.jsを使えとのこと。
やってみたら、見事に解決した。


下手にHighslide Configuratorを使わずに、FULLを使った方が無難かも。

ブログ アーカイブ

tags