|
no prev page |
1/1ページ(1件) |
no next page |
|
|
|
ティアのたわごと☆其の492
さて、
あたしは日々進化しています。
それがどんな些細な事でもですw
先日まで、あたしの作った・・・正しくはAdobeが作った
Flashを枠線無しで表示して欲しいんだい!!
ってスクリプトなんですが
どういう事かというと、IEの途中バージョンから、ActiveXのコンテンツ(FlashとかMediaPlayerとか)が、クリックしてアクティブにするまで、マウスとかキーボードを検出できなくする仕組みが有って、
まぁブラウザの設定如何では、そうならないのかもしれませんが
まぁ設定により動作が異なるのは困ると
そう言うわけで
AC_RunActiveContent.js
と言う物があります。
これは、ファイル名こそAdobe標準の物ですが
現在は、多数の関数を追加して、拡張子で自動判別するので標準のswfとかdcrとか毎に使用する関数を変更する必要もありません。
AC_RunContentって関数名なんですけどね、これを追加したり、まぁ拡張子を判別するための機能を追加したり・・・・
この辺りは割と順調にいったのです。
ですが、
あたしのサイトは何故か日本語コンテンツが意外と多い
ファイル名は、asciiにしろよ〜とか有るかもしれませんが、あたしとしては、それはそれで抵抗があるわけで・・・
だから、そのまま上げていたんですよ
IEはそれでも問題なくsjisのファイル名とかで実行したのですが、最近使い始めたFireFoxが表示してくれない・・・
プロパティを見ると普通にsjisファイル名を表示しているのですが、WMPに引き渡すときにどうもSJISのファイル名をUnicodeとして処理し、渡しているんです。
ファイルがね、sjis何だから入力された文字列もsjisでしょ普通?
それをsjis->unicode変換してから、ファイル名を渡せば、良いとか思わなくもないんですがまぁ、どのみちダメとw
(注:FireFox自体はこの辺りの変換は間違いなく行っています)
で、まぁそれがダメなら、
そもそも<objectタグをスクリプトで出しているんだから、ファイル名もスクリプトでURIエンコードしてしまえと・・・・
で、その結果が、ASCIIのディレクトリ名に保存されたデータはファイル名だけがUnicodeをURIencodeするのでちゃんと表示され
ディレクトリ名にも日本語が含まれていると
htmlがsjisなのでフォルダ名はsjisのになり、javascriptで出力したファイル名がunicodeになり、流石にこれは表示しない
これはもう、unicode->sjis変換をするしかないと言う事ですわよね?
で、これ、いろいろ調べたけどjavascriptでこれを行っている物はありません
OSで動作するスクリプトを作っている人はVBscriptとかを併用していたりするのですが、Webコンテンツではそう言うわけにはいきません。
なので、unicode と sjisの対応表を見つけ出し、それから、全コードを変換する関数を無理矢理作成し、(switch文さw)それを使って、URIエンコードしたsjisとして出力する事に成功^^
(注:細かく作るのが面倒だったので全て%xxに変換しているので正しくはない)
まぁスクリプトが2万行(330k)とか危険な事になっているけど、まぁその辺りはご愛敬でw
適当に流してみた感じでは、遅延は特に感じられません、多分、問題なし
まぁ、ゲーム予定表の一部で、利用しているのでご希望の方はご自由にどうぞ
因みに、不具合があっても知りません
|
閉じる
|
|
|
|
|
|
no prev page |
1/1ページ(1件) |
no next page |
|