
外部jsファイルについて、いくつか教えてください。
1.コメント削除
2.圧縮
3.難読化
1.コメントを自動で削除してくれるツールとかってあるのでしょうか?
2.圧縮ってどうやるのでしょうか?
速度が速くなる、と聞いたことがあるのですが、何か圧縮することで問題になることとかありますか?
3.難読化ってどうやってやるのでしょうか?
また、難読化することのデメリット等あれば教えてください(SEO的にやめた方がいいなど…)。
上記の内、どれか一つについてでもご回答いただければ、嬉しいです。
その他、何かアドバイス等あれば、よろしくお願いします。
No.2ベストアンサー
- 回答日時:
コメント削除および圧縮ツールとしては、Google Closure Compiler が有名です。
オンラインでも利用できます。
http://closure-compiler.appspot.com/home
説明(英語)
http://code.google.com/intl/ja-JP/closure/compil …
これを使う事で、例えば
var theValueOfSomeMainContents が
var a に置き換えられますので、
ブラウザがコードを読み込む(=実行する)スピードが早くなります。
ユーザーにとってはとても望ましい事です。
一方のデメリットは、人間がコードが読みづらくなる事です。
改行がなくなり、コメントが消え、
変数は意味不明の短い単語(場合によっては1文字)になりますので、
メンテナンスには向きません。
あくまで、本番環境にリリースする用です。
この意味で、圧縮=難読化 ですね。
SEOについてですが、
サーチエンジンは普通html内の文字列を「コンテンツ」としてサーチしますので、
問題ないでしょう。
(というかサーチエンジン本家のGoogleのjsコードが、どえらく圧縮されていますし)
No.3
- 回答日時:
1.圧縮サービスにはコメント除去がついていることが多いです。
"javascript 圧縮 オンライン"とかで調べるとまとめて紹介している記事がたくさん出てきますよ。
2.javascriptの圧縮は大きく分けると2通りあります。スクリプトのムダな記述を削減して新しいコードを再構築する圧縮。gzipのように元のデータを保持したままアルゴリズムで圧縮するタイプ。オンラインサービスの多くは前者です。それぞれファイルを読み込む速度は向上しますが、実行速度は体感上変わりありません。
3.難読化はスクリプトを人間の目では理解できないほど複雑にする行為です。これに関してもオンラインサービスを利用すればいいのではないでしょうか。ですが難読化ってやる意味ありますか?スクリプトって別にコピーされてもあまり困りませんし、ハッキングできる人は単純な難読化はあっさり可読化できますよ。まさか重要なパスワードをjavascript内に書いたりすることもありませんし・・・
SEOにjavascriptは私も元々影響がないと思います。
>javascriptの圧縮は大きく分けると2通りあります。
ありがとうございます。こういう風に説明していただくと、
頭の中が整理できるので、大変ありがたいです。
>難読化ってやる意味ありますか?
どうしてもやりたいと思っていたわけではないのですが、
興味があったので、聞いてみました。
難読化されているスクリプトを見てみたいときとか、役立つかな、と思ってます…。
No.1
- 回答日時:
ちょっとぐぐってみただけですが、いいっぱいヒットしました。
ごく一部を以下に…
<方法について>
http://www.nri-secure.co.jp/ncsirt/2009/0409.html
<圧縮ソフト>
http://www.phppro.jp/phptips/archives/vol32/1
http://ecs.amonya.com/javascript/javascript.html
ウェブ上でもこんなのあります
http://dean.edwards.name/packer/
と、思っていたら(↓)にまとめて紹介されていた。
http://coliss.com/articles/build-websites/operat …
ご自分でも検索してみてください。
質問した際には、ツールのことしか念頭になかったのですが、
教えていただいた、<方法について>のサイト等は、大変興味深かったです。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
jsonテキストデータの並び替え...
-
<tr>指定した表の行要素をボ...
-
任意の変数が任意の値になった...
-
【GAS】WEBアプリでハイパーリ...
-
React と Electron でデスクト...
-
スマホ上で、左右スワイプで次...
-
以前の質問だと、どの条件でも...
-
タグを教えてください。
-
ラジオボタンを複数選択したと...
-
jsで質問です。 formをsubmitし...
-
2025年相性がいい人のサイトの...
-
CookieをWebStoeageに変える
-
Adobe acrobat proでフォームを...
-
Outlookのアカウントがあるとメ...
-
jqueryのselect2で検索欄の文字...
-
食材の期限を管理するためにGAS...
-
ビデオのJSについて
-
鍵盤アプリで、スマホの画面に...
-
<div>のタッチ状態を維持したま...
-
jQueryでシンセサイザーを作っ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
拡大スクリプト・zoom_ブック...
-
java script 選択問題
-
リロードしないと正常に表示さ...
-
PHPでエスケープされた文字列を...
-
javascript 三択式のテストを作...
-
コメントスパム対策について
-
Ajax.Updaterでjavascriptを記...
-
Javascriptで変数名を表示する...
-
文字列圧縮_
-
六曜カレンダー
-
Java Script を.jsファイルを利...
-
リアルタイム時計をミリ秒まで...
-
javascriptでexcel閉じる
-
コメント欄に顔文字一覧をつけ...
-
このソースどういう意味ですか...
-
【JavaScript】ソースのコメン...
-
Firebugの使い方について
-
変換テーブルを使った、文字列...
-
コメント削除/圧縮/難読化
-
JSPの処理の途中で、JavaScript...
おすすめ情報