スポンサー広告 - スポンサーサイト

--/--/-- (--) --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

【プログラミング】その他 - IEのバグ 其の参

2013/03/10 (日) 21:58

またしても発見したのでメモ。

シチュエーションとしてはこんな感じ。
①フレームで構成されたサイトをお気に入りに登録。
②お気に入りから①で登録したサイトを選択して表示する。
③①で登録した画面が表示されない。
となる場合があります。
発生した時の状況は、上下に2分割されたフレームのサイトで、上のフレームの内容が下のフレームにも表示されてしまっていました。
要するに、上下のフレームに上のフレームの内容が表示されていました。
が、必ず発生するわけでもないようです。
調べたところ、こんな情報が。

IE8(RC1)でフレームが正しく表示されないバグがある?

読むとなかなかひどいですね。
どうやらIE8に固有の症状のようです。
実際にtakが遭遇したのもIE8でした。
上記の情報はかなり古いものですが、つい最近発生しました。
マイクロソフトの人は直す気は無い感じですねぇ。

察するに、お気に入り用のファイルの生成でやらかしている感じです。
一旦お気に入りから消して再度登録し直せば回避できるので、実際の仕事の運用ではサポートの人にはその旨を伝えておけば良いですかね。

それにしても、ここの所立て続けで遭遇するIEバグ。
ビジネスではまだまだ古いIEが幅を利かせているので困ったものです。

続きを読む

スポンサーサイト

【プログラミング】その他 - IEのバグ 其の弐

2013/02/11 (月) 21:06

最近、仕事で遭遇したIEのバグをメモ。

シチュエーションとしては、親ウィンドウから子ウィンドウを生成。
生成方法は、JavaScriptの【window.open()】です。
この子ウィンドウは印刷プレビュー的な物で、親ウィンドウの内容を小奇麗に纏めた物を表示し、印刷させるために使っていました。
印刷が終われば不要なので、画面には[閉じる]ボタンが設置されており、【window.close()】が仕込まれています。
※印刷には専用のCSSが設定されており、このボタンは印刷されません。
擬似的な印刷プレビューではありますが、ブラウザのメニューから本物の印刷プレビューを呼び出すことも可能です。
で、この本物の印刷プレビューを呼び出し、ひとしきり印刷結果のイメージを確認したらウィンドウ右上の×ボタンで閉じます。
この状態で子ウィンドウ上の[閉じる]ボタンを押下しても、子ウィンドウが閉じません。

状況を元にGoogle先生に調査依頼を行いました。
すると製造元からこんな情報が提供されていました。
Internet Explorer で印刷プレビューを終了すると、Web ページ中の Jscript の window.close メソッドが動作しなくなる場合があります

いやー。何ともバグらしいバグですねぇ。
JavaScript全てが利かなくなるわけではなく、【window.close()】のみというのがいかにもですね。
印刷プレビューの閉じ方にはルールがあるようです。
対象はIE6~8で、結構広いですね。
印刷プレビューの画面自体がIEのバージョンによって異なっており、発生条件が少々異なるようです。
つーか、IE6の印刷プレビューには[閉じる]ボタンがあり、それを使う分には問題ないようです。
こんな分かりやすボタンがなんでIE7、8で撤去されたのかは謎ですが。
今回のシチュエーションでは親と子でウィンドウが分かれていましたが、別に子ウィンドウは関係ない事象ですね。
とはいえ、【window.close()】を使うのは子ウィンドウであることが多いと思いますが。
結局、プログラミングで回避する事が不可能だってんだから、困ったものです。

まだまだ未知の不具合が隠されていそうな感じですね。
IE…恐ろしい子!

【プログラミング】その他 - google検索の罠

2012/09/23 (日) 23:35

少し前に仕事で少々関わったので備忘として。

googleの検索結果のリンクを踏んでサイトにアクセスすると、相対パスで指定している全てのリンクや画像が参照できない現象がありました。
原因を簡単に説明すると、googleの検索結果がURLの末尾に「/」(スラッシュ)を追加していたことが原因です。
どうやら拡張子が無いようなサイトだと、勝手に末尾に付与してしまうようにいつからか仕様を変更してしまった模様。

最後が拡張子ってのは「hoge.htm」「hoge.cgi」「hoge.php」「hoge.jsp」等がメジャーな感じでしょうか。
JAVAなんかでサーブレットを組んでいると分かりやすいですが、サーブレットとURLをマッピングす定義をします。
その際に、拡張子を書く必要は無く、単純に「*/hogeServlet」なんて書くと、末尾が「/hogeServlet」ならどんなURLでもサーブレットが起動します。
冒頭の事例もこのマッピングによって起こりました。

末尾に「/」がつくことにより何が起こるのかというと、相対パスの階層が1つ増えてしまうという事です。
これにより「./hoge.png」とか書いていると、1階層増えているので「../hoge.png」としないと本来のファイルに参照できなくなります。
formのactionにしている値も相対パスだったりすると機能しなくなる可能性がありますね。

で、解決策です。googleが末尾に「/」を追加するのを止めてくれればいいのですが、その望みは薄そうです。
なので、サーバ名を省略する書き方に変えるというのが簡単そうです。
「絶対パス」「相対パス」というのはよく聞きますが、「/」から始まる値は、サーバ名を省略してのパスとなります。
サーバ名しか省略できませんが、大抵の場合はテスト環境と本番環境ではサーバ名は違くとも、それ以下のパスは同じにしてあることがほとんどだと思います。
実際冒頭の事案ではそうでした。

まぁ、そもそもディレクトリを指す場合は末尾が「/」で終わるのが本来の書式ですから、拡張子が無いという事はディレクトリと思われても仕方が無いことなのかなぁとも思いますが。
ブラフでもいいから、サーブレットとURLをマッピングする時は拡張子を付けることをお勧めします。
そういえば、Strustなんかもデフォルトで「*.do」なんてマッピングになっていますね。

というわけで、相対パスにしてあるから安心!とはいかない場合があるというお話でした。

【プログラミング】その他 - VBAメモ

2012/01/10 (火) 20:49

仕事でちょこちょこ使うVBA。
とはいえ何時も使うわけではないので、必要になったら調べながら組んだりしてます。
今日もそんな一幕だったのだけれども、ちょっと罠にはまったのでメモ。

何と同一ブック上ではシートのコピーができない場合がある。
例えばテンプレート的なシートを用意し、そのシートを多数コピーしようものならエラーが出る可能性が高い。
ググってみると割とたくさん引っかかる。
あげくにはMSのサポートサイトまである始末。
どうやらかなり昔から存在する現象で、放置っぷりから察するに直す気はないらしい。

アホかー。

怒りを込めて記録を残しておきます。

ちなみに、MSの解説によれば、シートのコピーは止めて、テンプレートは別のブックとして作ってそれを読み込めということ。
シートはコピーだNGだけども、追加は全然平気らしい。
良いから早く直せやごるぁ。

【プログラミング】その他 - 携帯サイトのセキュリティについて

2010/11/08 (月) 22:39

元ネタ:@IT掲示板

以前に仕事で携帯3キャリアの公式サイトの構築・運用を行っていた絡みで、
気になるトピックだったので取り上げてみました。
その当時はアクセス元のIPアドレスによるアクセス制限をかけていて、
これでよいものだと思っていたのだけれども、
完璧ってわけではないんですねぇ。

DoCoMoなんかはアクセス元IPアドレスの追加はなかなかしないのでよいのですが、
au、SoftBankは割と頻繁に追加してくるので運用が面倒なことこの上なし。
という記憶があるです。

なにはともあれ、端末IDだけでの認証は、できればやめた方が良さそうですが、
一々パスワード認証させるのも面倒だなぁと思う。
検索フォーム
RSSリンクの表示
カレンダー
05 | 2017/06 | 07
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -
月別アーカイブ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。