ラベル IE の投稿を表示しています。 すべての投稿を表示
ラベル IE の投稿を表示しています。 すべての投稿を表示

2017年2月24日金曜日

ASP.NET MVC の AntiForgeryToken がIE,Edgeでエラー

ASP.NETにはCSRF対策にTokenを発行して検証してくれる機能がありますが、IEとEdgeでだけエラーになり、FirefoxとChromeでは大丈夫、しかもデバッグ時にはIEやEdgeでもエラーにならないという不可思議な現象に悩まされました。

必要な偽造防止 Cookie "__RequestVerificationToken" が存在しません。

結構ハマってしまったのですが、原因はこれでした。

Cookie を使用するドメインでは、ドメイン名およびサーバー名に英数字 ("-" または ".") だけを使用しなければなりません。サーバー名にアンダースコア ("_") など、その他の文字が含まれている場合、Internet Explorer は Cookie をブロックします。

デプロイ先のテスト環境のドメインに「test_xxxx」とアンダースコアが含まれていたのが原因でした。
結構古くからの常識のようで、まだまだ勉強不足を痛感します。

以上メモまで。


2016年2月2日火曜日

【Tips】ブラウザのポップアップメッセージのコピー

表題のとおり、

FireFoxだと普通にマウスカーソルで選択・コピーが可能。

IE,Chromeだと「Ctrl + C」でコピーが可能。

Chromeはメッセージだけコピーされるけど、IEは

---------------------------
Web ページからのメッセージ
---------------------------
XXXXXXXXXX
---------------------------
OK   
---------------------------

のような感じでコピーされます。

以上メモまで。


2012年1月10日火曜日

ASP.NET Enterキーを無効にする方法

Enterキーを無効にする方法として
以下のようなjavascriptを差し込む方法がよく紹介されていますが、

<SCRIPT LANGUAGE=javascript>
    <!--
    //Enterキー無効処理
    document.onkeypress = enter;
    function enter(){
        if( window.event.keyCode == 13 ){
            if( window.event.srcElement.type == 'text'){
                return false;
            }
        }
    }
    //-->
</SCRIPT>

ASP.NET 3.5、IIS7、マスターページ、AjaxControlToolkit 3.0 という環境でヘッダのContetPlaceHolderに上記javascriptを記述しても動作しませんでした。
(※そもそも alert('test'); は動作するけど alert("test"); は動作しないというおかしな状況で、 なぜ動作しないのか不明です。分かる方がいたら教えていただけますと幸いです。)


今回はダミーボタンを作成することでEnterキーを無効にする方法を紹介いたします。
EnterキーでのPOST動作はform内に記述された最初のsubmitボタンに割り当てられます。
(※詳細な条件は後日手の開いている時にでも調べます)
なので、ボタンが押されても実行されないボタンを用意することで、Enterキーによるポストを無効にできます。

まず、aspxページにボタンコントロールを配置し(その他のボタンより上部に)、
ButtonDummyのような適当な名前を割り当てて、EnableプロパティをFalseにします。
また、このボタンが見えてしまうと見栄えが悪くなるのでスタイルシートで
display:none;
としておきます。
これだけだとなぜかIEでEnterが無効にならなかったのですが、
コードビハインド側で(C#)以下の記述を加えてダミーボタンをデフォルトボタンにすることで動作するようになりました。

this.Form.DefaultButton = this.ButtonDummy.UniqueID;


理解が深くないままの解決ですが、取り急ぎメモまで。

2011年9月12日月曜日

IEからGoogleドキュメントにアップロードできない

表題の通り、ここ数日IEからGoogleドキュメントに
ファイルをアップロードできないようです。

Chromeを使えば、一応アップロードすることが出来るようではあります。

参考:ファイルをアップロードできない

2011年2月21日月曜日

IETesterでタブを分割表示する

IETester
http://www.my-debugbar.com/wiki/IETester/HomePage

IETesterを用いるとIE5.5, IE6, IE7, IE8での表示・動作確認を行うことができます。


サンプル画面のようにタブで分割表示するには、


まず確認したいバージョンのIEでサイトを開きます。


どちらのタブでも良いので、タブをつまんでウィンドウ内にドラッグ&ドロップします。


タブの分割表示ができました。


※ちなみに、上の参考画像はこのサイトでキャプチャしただけなので、
別に私は「ポンパレ」の広告塔ではありません(汗)
最近このお姉さんめっちゃ見るなぁ

2010年12月15日水曜日

WebフォームでEnterキーを打ってもPOSTしないようにするには

submitボタンを利用するとフォーム上でEnterキーを打つとデータをPOSTしてしまいます。

<input type="submit" value="送信">


inputタグのtype属性をsubmitからbuttonに変更し、onClickイベントでsubmitするように変更します。

<input type="button" value="送信" onClick="this.form.submit()">


現状確認できる範囲ではこれで上手くいきそうですが、嘘だったらすみません。

2010年11月15日月曜日

IE8 内部サーバーエラーの表示

IE8はデフォルトで内部サーバエラーが発生しても詳細を表示しません。
表示させるには以下のように設定します。

「ツール」
→「インターネットオプション」
→「詳細設定」
→「ブラウズ」
→「HTTPエラーメッセージを簡易表示する」のチェックを外す