YUI Compressor(The Yahoo! JavaScript Compressor)の新しいバージョンがでました。
で、結構評判がよいみたい。
「Dojo Toolkit JavaScript Compressor」より、高圧縮で安全と紹介されていたので、
新しいYUI Compressorとprototype.js(ver1.5.1で 93.7K)を使って比較してみた。
Dojo Toolkit JavaScript Compressor 66.8k 71%
Dojo Toolkit JavaScript Compressor(strip newline chars) 64.3k 68%
YUI compressor-2.1.1 57k 60%
結構、いい数字でます。
で、「安全」とのことだけれど、それは自前の方でJSファイルで検証。
自分が担当している某Blogに地図を張るサイトのJSにて試してみたところ、
全然問題ないく動作しました。
圧縮結果は外部JSファイル(16個の合計値)
391k→185k
ちなみに、「Dojo Toolkit 」も使っているので、
dojo.jsもYUIにて圧縮を書けたら155k→127k(82%)になった。
YUIは、CSSファイルの圧縮もいけます。
外部CSSファイル(10個の合計値)
44.4k→26.8k
すばらしい。
コマンドは、
基本的には、以下の様な感じ。
java -jar yuicompressor-2.1.1.jar prototype.js
Windows環境下だと、エンコードを指定してあげ無いとデフォルトでMS932に判断するのかしら?
最初うまくいかなかったので、エンコードを指定したら問題なく動きました。
java -jar yuicompressor-2.1.1.jar --charset UTF-8 ./js/cookie.js -o ./js_comp/cookie.js
CSSを圧縮する場合もコマンドは基本的には一緒です。
「--type」をつけなくても問題なく認識(拡張子で判断したのかな?)。
java -jar yuicompressor-2.1.1.jar --charset UTF-8 ./css/help.css -o ./css_comp/help.css
以下に、コマンドのオプションを書いておきます。
<Options>
* -h, --help この情報を表示。
* --line-break 結果に改行を入れる?
* --type 入力ファイルのタイプを指定してね。
* --charset 入力ファイルのタイプを読み込むときのエンコード指定して!
(WindowsだとデフォルトはMS932っぽい)
* -o 出力ファイル名
* --nomunge [js only] 圧縮のみ。変数(ローカル)の難読化は行わない。
* --warn [js only] コード中に重複した変数や、使用されない変数、慣習的に推奨されない 実装などを見つけた場合に警告をだしてくれます。ごめんなさい、試してないです。
「--warn」 に関しては、どういったものを「推奨されない実装」と判断してるのか興味深いところですね。(widhとかかしら?)
引き続き調査してみます。
DownLoadのQuick Linkはこちら。
Download YUI Compressor version 2.1.2
検証したときは、2.1.1だったんだけど、もう2.1.2が出てたんだね。
2.1.1からの違いは、オプションに以下の変更があり。
「--preserve-semi(不要なセミコロンを削除しないようにする。)」が追加。
「--line-break」が変更が加えられた模様。
で、この記事、たぶん会社のBlogにも使います。
2007/09/18
2007/09/17
dojoにて「Permission denied to get property HTMLDocument._parentWindow」
dojoをiframeで呼び出してるのサイトにて、
FireFoxだけ
「Permission denied to get property HTMLDocument._parentWindow」
ってエラーが出ちゃってた。
で、早急に対象して!とのお願いが。。
(そんな使い方してるなんて聞いてないよ!とは言えない。)
で、dojoのtrac(BTS)みてたら、こんなのが・・・。
・Ticket #2723:PopupContainer load error within a cross-domain IFRAME
0.4.1で発見されたのね。PopupContainerが悪い子なのか~。
で、ステータスがfixedになってて、パッチまで出してる!
が、問題のサイトは、0.4.3だから大丈夫だろ?っと思ってみてたらだめでした。
で、0.4.3のPopupContainer.jsを直接直すことに。
問題の箇所はこちら。
で、以下のように修正すればとりあえず動きました。
0.9だと直ってんのかな?
このblogも会社Blogに使うよん。
FireFoxだけ
「Permission denied to get property HTMLDocument._parentWindow」
ってエラーが出ちゃってた。
で、早急に対象して!とのお願いが。。
(そんな使い方してるなんて聞いてないよ!とは言えない。)
で、dojoのtrac(BTS)みてたら、こんなのが・・・。
・Ticket #2723:PopupContainer load error within a cross-domain IFRAME
0.4.1で発見されたのね。PopupContainerが悪い子なのか~。
で、ステータスがfixedになってて、パッチまで出してる!
が、問題のサイトは、0.4.3だから大丈夫だろ?っと思ってみてたらだめでした。
で、0.4.3のPopupContainer.jsを直接直すことに。
問題の箇所はこちら。
| 211 | if (!targetWindow) { |
| 212 | targetWindow = dojo.html.getDocumentWindow(window.top && window.top.document || window.document); |
| 213 | } |
で、以下のように修正すればとりあえず動きました。
| 211 | if (!targetWindow) { |
| 212 | try { |
| 213 | targetWindow = dojo.html.getDocumentWindow(window.top && window.top.document || window.document); |
| 214 | } catch(e) { |
| 215 | // fallback if this is a cross-domain IFRAME |
| 216 | targetWindow = window; |
| 217 | } |
| 218 | } |
0.9だと直ってんのかな?
このblogも会社Blogに使うよん。
登録:
投稿 (Atom)
-
【送料無料】LINE6 LowDown Studio 110ライン6 ベースアンプ 価格:29,808円(税込、送料込) 先日の友人の結婚式に演奏をお願いされたのだが、ひとつ悩んだのがどうやって大音量の音出すか? 演奏内容は、ドラムレスなトリオ(ギター、ピア...
-
金曜日とか上野で飲み会があると、2次会の場所にこまります。 予約なしだと結構入れないのね。 そんなときに結構穴場というか入れちゃうのがこちら、「伝説の若鶏唐揚 腹八分目 」 むかしは、海峡って名前のいざかやだったのよな?と思ったら、「伝説の若鶏唐揚 腹八分目 」って名...
-
ガンチア・スプマンテ・ロッソ 赤 750ML 価格:1,280円(税込、送料別) 外でたまたま飲んだスパークリングワインの赤が美味しかったので近所で売ってないかなーと、酒屋で見てみたらありました。 飲んだ種類とはちがうんだけど、 ガンチア・スプマンテ・ロッソ...