ティアのホームページ☆ミ:ID 119:タイトル 一体誰が悪いのか・・・・ oC
no prev page 1/1ページ(1件) no next page
To Close..一体誰が悪いのか・・・・ 2007年11月12日00時19分
ティアのたわごと☆其の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

適当に流してみた感じでは、遅延は特に感じられません、多分、問題なし


まぁ、ゲーム予定表の一部で、利用しているのでご希望の方はご自由にどうぞ
因みに、不具合があっても知りません
閉じる
テーマ:たわごと URL:https://tsukiyori.sakura.ne.jp/index_m.cgi?ID=119
 
no prev page 1/1ページ(1件) no next page