質問: activex コントロールのアクティブ化 activex コントロールのアクティブ化に関して 外部jsファイルを読み込んで対処する方法はわかるのですが 外部にファイルを作りたくないとクライアントに言われました。 この場合どのように記述すればよいのでしょうか? よろしくお願いいたします。
回答: 本当に困ったクライアントさんですね。 「jpeg も gif も そして swf もみんな外部ファイルです。 外部がいやなら,htmlだけのページにしましょうか!?」 などと,言いたくなりますね。 js でも何でも同じなんですけどね...。 お気の毒に思います。 ---------------------------------- いろいろ調べたり, 考えたり(swf 内に javascript を書いておいて actionscript から実行させるなど) してみましたが, 良い方法がわかりませんし,思いつきません。 ☆ そこで代案(新案)です。 外部 .js ファイルは,外部であればいいわけですから, .js ファイルは質問者さまの(または質問者さまの会社の)サーバやサイト内に置いて, それをクライアントのサイトのページから参照させてあげてはいかがでしょうか? 簡単楽々な方法を次に書きます。 このこととは基本的に別問題ですが, javascript に関して,ここ↓のページを参考に考えます。 「activex コントロール アクティブ化の裏ワザ」 http://qpon.quu.cc/activ/ ~引用~ >> フルパスで書けば、 >> すべてのページから1つのファイルを >> 共用できるようになります。 ... 略 ... >> 最初のタグだけ外部ファイルに書かせれば、 >> 後はhtml文のままでもよさそうです。 ~ 作成例 (あくまでも実験です)~ ~ ~ 幅 400px,高さ 300px の 「myflash.swf」 という名の swf を作成し, その swf と同じフォルダ階層に html を置きます。 その html のコードを次のようにすれば, 「このコントロールをアクティブ化...」 の表示が出ません。 ------------------------------- myflash activ(''); ------------------------------- ※ コピペすると http:// で始まる自動リンクがかかった url 部分に,変な文字が入る場合があります。 コピペで使用される場合は, その 変な文字(見えません)を削除して使ってください。 ※ これはあくまでも実験です。 本番では上記サイトさま の js を 直参照して使うなどということはしないでください。 上記サイトさま, 無断実験使用すみません m(_ _;)m 感謝!! 上記コードの内容は,わかりますでしょうか? であるべきところを, activ(''); に変えただけです。ただそれだけ。 本番では,「activ.js」を質問者さまのサーバに置いてあげて, http://qpon.quu.cc/activ/activ.js の部分を,そのurlに変えれば良いだけです。 http://qpon.quu.cc/activ/ さんの .js ファイルを借りるだけでなく, swf と .js ファイルをそれぞれ別々のサーバにアップして実験もしてみましたが, うまく行きましたよ。 クロスドメイン問題も大丈夫なようです。 ついでに, embed タグが js の中ではなく html 内にあるため, javascript が無効なブラウザでも,一応 flash は表示はされるという副産物付きです。 また 質問者さまのサーバがダウンしているときでも,同じく, 一応 flash は表示はされるはずです。 「activ.js」の中身も非常にシンプル。 --------------------- function activ(ww){ ww+="\n"; document.write(ww); } --------------------- たったこれだけです。 ファイル容量もたった 52 バイト 。 それにすんごい楽ちんです。 52 バイト分のサーバ使用量は, サービスして差し上げても良いですが, 何でしたら,そのわがままクライアントさんに, 別途請求して差し上てはいかがでしょうか。 1000円/月 くらいで(爆)。 =/=/= 別法 =/=/=/=/=/=/=/=/=/=/= 上の 「activ.js」 ですが, 中身はそのままで拡張子を .swf に変え, 「activ.swf」 にします。 そして, ココを変える↓ activ(''); これでも行けますよ。 なぜ,外部js ファイルがダメで,外部の flash(.swf) が良いと言っているのか, その理由がよくわかりませんが, 外部js がダメなのであれば, 勝手に拡張子のみswf変えても良いです。 何でしたら .as でも .jpg でも... ブラウザは拡張子なんか気にしていませんから。