「JavaScript Maker for Flash」よくある質問

1.Windows版IEの仕様変更(2006年4月)に対する対策としてJavaScriptの外部ファイルでFlashなどの表示を行うということは、JavaScriptをoffにしている人にはどのように見えるのですか?
「このコントロールをアクティブ化して使用するにはクリックしてください」というメッセージや、「このWebページで ActiveXコントロールを実行するにはクリックしてください」というアラートがWindows Update後のIEで表示されるようになった問題(詳細はこちらに掲載しています。)のために、ウェブマスター側が対応すべきこととして、Flashなどの表示に関わるHTMLソースをJavaScript化する作業が必要になりました。

そのため、JavaScriptをoffにしている人にまで、この対策が100%有効ということは決してありませんが、当プログラムでは、JavaScriptをoffにしている人のためのHTMLタグ(代替メッセージや代替画像の表示)も同時に作成できるようにしていますので、ご安心ください。詳細は、次項の「2.」の一覧表もご参照ください。

2.「JavaScriptをoffにしている人用のHTMLタグも同時に生成する。」にチェックを入れ、「JavaScriptをoff(無効化)にしている人にもFlashやWindows Media Playerの表示を行う。」にもチェックを入れると、難読化できなくなるのはなぜですか?

当プログラムでは、JavaScriptをonにしているサイト訪問者に対する「JavaScriptソース」も、JavaScriptをoffにしているユーザー用の「HTMLソース」も、その両方を一度に作成できます。

当プログラムの仕様を表にまとめますと、
サイト訪問者の
ブラウザ設定
(当プログラムを使っての)
ウェブマスター側の対応
「このコントロールをアクティブ化して
使用するにはクリックしてください」などのメッセージ
備考
JavaScriptをonにして
いるユーザーがアク
セスした場合
(約97%〜98%)
HTMLソースを
外部ファイル化(***.js)する
(下記の方法A、方法B、方法Cにおいて共通)
○ 成功
表示されなくなる
・JavaScriptをonにしているユーザーのために、「『HTMLソース→JavaScript』の変換+(さらに、難読化)」をお手伝いするのが当プログラムのメインの目的

JavaScriptをoffにして
いるユーザーがアクセスした場合
(方法A)
FlashやWindows Media Fileを今までどおり表示
×
表示される
・offにしているユーザー(約2%から3%)には、依然として、「このコントロール〜」などのメッセージが表示されます。(onにしているユーザーには、外部ファイル化による対応で表示されなくなっています。)

・JavaScriptをonにしている人用のJavaScript(外部ファイル)を仮に難読化しても、難読化する前の普通のHTMLソースが同じHTMLページ内に存在することになります。これだと結局、難読化する意味がなくなってしまうため、当プログラムでは、方法Aの場合、難読化できないようになっています。
(方法B)
代替テキストや代替GIFアニメ、イメージマップなどを表示するようにする
○ 成功
表示されない
・このタイプのソリューションの場合、JavaScriptをoffにしている人用のHTMLソースの中に、emebedタグやobjectタグも一切ないため、「このコントロール〜」などのメッセージは一切表示されません。
・JavaScriptをonにしている人用のJavaScriptソースを難読化することも可能です。
・もっとも推奨させていただく方法
(方法C)
何もしない

表示されない
・「このコントロール〜」などのメッセージは一切表示されない代わりに、JavaScriptをoffにしている人には、何も表示されず、場合によってはレイアウト上の空白やレイアウト崩れなどを発生させる場合もあります。

のようになるかと思います。

できるだけ多くのユーザーに対して、「このコントロール〜」などのメッセージを表示させないようにしたいと思うならば、方法Bの手段を取り、JavaScriptをonにしているユーザーに対しては、外部ファイル化(***.js)したソースが表示されるようにし、一方、offにしているユーザーに対しては、FlashやWindows Media Flieなどは表示されないことを覚悟して、代替テキストや代替GIFアニメ、イメージマップを表示させるようにすることです。

ところが、この方法Bは、代替のファイルやメッセージを準備するのが大変ですし、それだったら、「このコントロール〜」などのメッセージが約2・3%の人にしか表示されないならば、そのようなoffにしている人には、例外的に、普通にFlashやWindows Media Fileする形を取りたいという場合もあるかと思います。このようなが場合は、「方法A」になります。

ところが、方法Aの場合、困ったことに、JavaScriptをoffにしている人に対してのソースは難読化されないまま(というより、JavaScriptをoffにしているユーザーのブラウザではJavaScriptが実行されませんので、JavaScriptで難読化されているソースは当然ながら実行されません。そのため、難読化できません。)ですので、HTMLソースを見れば丸わかりです。一方、JavaScriptをonにしている人に対してだけでも、ソースを難読化させれば意味がありそうですが、それだと、クイズの答えが同じページの下の方に小さな字で書いているようなもので、全く意味がありません。そのため、方法Aの場合、難読化処理をしようとすると、当プログラムでは、エラーメッセージを表示するようにしています。

JavaScriptをoffにしている人がアクセスするページと、onにしている人のページのURLが違う場合(offにしている場合は、別のURLにリダイレクトされるなど)には、方法Aでも意味があることでしょうが、当プログラムでは、現時点では、このようなケースは考慮していません。

また、方法Aの場合、「このコントロールは〜」のメッセージがJavaScript・offのユーザーには依然として表示されるわ、JavaScriptをonにしている人用のJavaScriptソース(外部ファイル)も難読化処理できないわで、あまり意味がないと考えられる場合もあるかと思います。また、あまり難しいことは分からないけれど、とにかく難読化したいという場合もあろうかと思います。そのような場合は、思い切って、方法Cを取るのも一つの手です。方法Cの場合、JavaScriptをoffにしている2〜3%のユーザーが完全に切り捨てられることになりますが、2〜3%という数字を重要視しない場合は、この方法Cもありかなと思います。

もしくは、方法Bで、単純に、代替メッセージとして、「このページのFlashはJavacriptをonにしていただかないと表示されません。JavaScriptを有効にして、再読み込みしてください。」のようなメッセージを表示させるようにしてください。

  


3.難読化すれば、FlashやWindows Media Fileのファイル名やパスが絶対にわからなくなるのですか?
いいえ、そのようなことはありません。難読化することによって、分かりにくくはなりますが、100%ではありません。ブラウザで正しく表示されるためには、ブラウザで理解可能なJavaScriptでなければならないためです。

また、キャッシュ対策はなされませんので、キャッシュ対策を別途やっておかなければ、キャッシュフォルダーからファイルが保存されてしまうことがないわけではありません。キャッシュ対策については、弊社で有料相談(まずは、メールでの無料相談から。)も承っています。

  


4.RealPlayerを表示しているページでは、RealPlayer上では右クリックできます。なぜですか?
2006年6月12日現在のところ、そのようになっています。Windows Media PlayerやQuickTimeには、右クリック禁止用のHTMLタグ(パラメータの設定)が分かっていますが、RealPlayerに関しては、その方法がまだ分かっていません。判明次第、実装させていただきます。

  


5.特定のブラウザでは、右クリックが自由にできます。なぜですか?
JavaScriptを有効にしているブラウザであっても、一部のブラウザ(約3%〜4%ほどのシェアのブラウザ)では右クリックできます。これは、多くの場合、ブラウザの仕様です。ただし、弊社の別の商品「HTML暗号化ソフト『SHTML』」でHTMLソース全体を暗号化した場合には、この右クリック禁止の有効範囲をさらに広げた(約98%のシェア)ものになっています。

この「JavaScript Maker for Flash」の場合、無料のWEBアプリケーションになっていますので、少し有効範囲は狭いですが、それでも約96%から97%のシェアのブラウザに対して有効ですから、画像ファイルなど動画ファイル以外のファイルに対しても、皆様のコンテンツ保護に寄与するものと考えています。

  


6.難読化したがゆえに、コンテンツが正しく表示されなくなるケース(特定のソースパターン・特定のブラウザ)はありますか?
2006年6月12日現在のところ、見つかっていません。もし、そのようなケースがありましたら、弊社サポートまでご連絡ください。問題の解決をお約束することはできませんが、原因を調査させてもらいます。

また、これに限らず、当プログラムをご利用の場合には、規約にもありますように、バックアップは必ず取るようにしてください。もしもの場合も、弊社では一切の責任を負うことはできません。

  


7.この「JavaScript Maker for Flash」はインターネットに接続されていないと、利用できないのでしょうか?
この質問に対しては、半分イエスで、半分ノーとなります。HTMLソースをJavaScriptに変換するためのプログラム自体はサーバ上からダウンロードしていただく必要があるため(HTMLページのロード時に自動的にロードされますので、特別なアクションはユーザー様側で不要です。)、インターネットに接続されている必要があります。また、テキストエリアに貼り付けていただくHTMLソースのサンプルなどはインターネットに接続されていないと見ることができません。

しかしながら、一旦、変換用プログラム(JavaScript)がダウンロードされましたら、基本的には、インターネットの接続を切ってもらっても構いません。変換プログラム自体はローカル(皆様のパソコン上)で動きますので、データなどが弊社サーバに送信(POST、GETなど)されて処理されるわけではありません。

「JavaScript Maker for Flash」においては、弊社では、一般的なアクセスログ情報などを除いては、一切の個人情報や機密情報などを収集していません。テキストエリアに貼り付けられたHTMLソースをどこかに保存しているというようなことも一切ありません。ご安心の上、ご利用ください。

  


8.右クリックを禁止しても、Flashファイル上では右クリックしても、「Macromedia Flash Player 8について」などは表示され、完全にコンテクストメニューの非表示をすることができません。
右クリック禁止前右クリック禁止後

のようになりますが、これはFlash Playerの仕様です。「設定」や「Macromedia Flash Player 8について」などを非表示にする方法はありません。

  


9.QuickTime Proによるファイルの保存対策として、「右クリック禁止」を使ってみました。確かに右クリック禁止にできますが、そうすると、ページ全体で右クリック禁止になってしまいました。そのため、テキストエリアなどでのコピー&ペーストも、ままなりません。QuickTimeのファイル上でだけ、「右クリック禁止」にすることはできませんか?
もともと、QuickTimeファイルにおける右クリック禁止の方法は、JavaScriptによってではなく、HTMLタグのパラメータ設定によって可能になっています。

当プログラムで「右クリックを禁止する」と自動的に、「HTMLファイル全般」への右クリック禁止対策(JavaScriptによるもの)と、QuikcTimeやFlashファイル上における右クリック禁止対策(HTMLタグのパラメータ設定)の両方を行ってしまいます。

ですから、当プログラムにおける「右クリックを禁止する」はoffにしておいて(使用しないで)、独自にHTMLタグでパラメータを設定することで、QuickTimeファイル上(もしくは、FlashファイルやWindows Media File)上でのみ右クリックのみを禁止にすることができます。

具体的な方法は、
a. QuickTime ファイルの場合

b. Flashファイルの場合

c. Windows Mediaファイルの場合(英語。必要に応じて、GoogleやYahoo!で「enableContextMenu」をキーワードにして検索してください。)

など、各Playerの製造元の技術文書をご参照ください。

繰り返しになりますが、これらのファイル上における右クリックを制御することは、HTMLタグで可能です。JavaScriptの知識は全く不要です。

  


10.Flashファイルが一つのページに複数(2つ以上)あるのですが、そのたびに、JSファイル(*.js)を別々に作成しなければなりませんか? 何とかまとめる方法はありませんか??
可能です。一つのJSファイルの中に、「JavaScript Maker for Flash」で作成したソースを単純に貼り付けていき、連結させるだけでOKです。

ただし、「function midi_shtml(t){」で始まる「midi_shtml()」という関数は毎回生成されますが、中身は全く同じですので、中級者以上の方は、重複している部分は省いても良いです。

しかしながら、難読化処理のために、わざと改行がないようにしていますから、どこまでがその関数なのかを判断するのは初級者には難しいと思われます。その場合は、重複している部分はたしかに気になりますが、そのまま、一つのファイルごとにJavaScript変換したソースを順繰りに貼り付けていってください。

また、JSファイルは一つにまとめられますが、各ファイルをdocument.writeさせる関数を呼び出す「swfConvert_shtml******();」(***の部分は毎回変わります。)はファイルの数だけ書かなければなりませんし、そのファイルが表示されるべきHTMLソースの適切な個所に書かなければ、とんでもない場所に表示されることになりますので、ご注意ください。

JavaScriptが全くわからないという方は、やはり、ご面倒でも原則通り、ファイルの数だけJSファイルを作成し、そのJSファイルをヘッダー部分(<head>〜</head>)に埋め込み、適切なHTMLソースの個所から「swfConvert_shtml******();」を呼び出すようにしてください。

  



Copyright (C) 2005-2007 Princesse Corporation. All Rights Reserved