C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: 特定のページを表示する時だけIEの互換表示設定を解除したい


(過去ログ 170 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■97868 / inTopicNo.1)  特定のページを表示する時だけIEの互換表示設定を解除したい
  
□投稿者/ emi (7回)-(2021/07/30(Fri) 18:19:57)

分類:[.NET 全般] 

開発環境:VisualStudio2019 targetFramework="4.8"
開発言語:VB.net WebForm HTML5
ブラウザ:IE Windows 10 バージョン 21H1

■最終的にやりたいこと
GridViewのヘッダーを固定して、明細部のみ縦スクロールさせたい

■知りたいこと
特定のページを表示する時だけ、互換表示設定を解除することは可能か?
可能な場合、どうすればいいか

jquery.tbodyscroll.jsというものを使って実現しようとしているのですが、
「JavaScript 実行時エラー: オブジェクトは 'addEventListener' プロパティまたはメソッドをサポートしていません。」
が発生し、ページが表示されません。
IEの互換表示設定を解除したら表示されました。
しかし、とても古いプロジェクトなので、全体的には互換表示設定を登録しておかないと他のページが正常に表示されません。
ですので、今回追加するページの時だけ互換表示させないようにしたいです。

どなたかご存じの方がいらっしゃいましたら、ご教授願えませんでしょうか。
よろしくお願い致します。

引用返信 編集キー/
■97869 / inTopicNo.2)  Re[1]: 特定のページを表示する時だけIEの互換表示設定を解除したい
□投稿者/ emi (8回)-(2021/07/30(Fri) 18:43:10)
補足です。

<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
を記述すればいいかと思い、やってみましたが同じエラーが発生しました。
記述位置は、metaタグの一番上にしています。
<meta http-equiv="X-UA-Compatible" content="IE=10"/>
でもダメでした。

開発者ツールで見たところ、ドキュメントモードは5になっていて、
metaタグが効いていないのかなと思います。
引用返信 編集キー/
■97870 / inTopicNo.3)  Re[2]: 特定のページを表示する時だけIEの互換表示設定を解除したい
□投稿者/ WebSurfer (2308回)-(2021/07/30(Fri) 18:59:57)
No97869 (emi さん) に返信

> <meta http-equiv="X-UA-Compatible" content="IE=10"/>
> でもダメでした。

昔調べた話ですが(下記 URL の記事参照)、ドキュメントモードは廃止される可能性があるとの
ことで、もう切り替えることができなくなっているのかも。

ブラウザーモードとドキュメントモード
http://surferonwww.info/BlogEngine/post/2014/12/29/browser-mode-and-document-mode-of-internet-explorer.aspx

meta タグでダメなら他のプラグインを探すほかなさそうです。いろいろあるはず。例えば下記の
記事で紹介している Grid とか。

GridView のヘッダ、列を固定(その 2)
http://surferonwww.info/BlogEngine/post/2013/02/04/freezing-header-and-column-of-gridview-by-using-javascript-gridjs.aspx

ところで、前のスレッド ↓ の話ですが、何故ダメだったか調べてみましたよ。

http://bbs.wankuma.com/index.cgi?mode=al2&namber=97847

見ておいてください。
引用返信 編集キー/
■97874 / inTopicNo.4)  Re[3]: 特定のページを表示する時だけIEの互換表示設定を解除したい
□投稿者/ emi (11回)-(2021/07/30(Fri) 20:26:30)
No97870 (WebSurfer さん) に返信
> ■No97869 (emi さん) に返信
>
>><meta http-equiv="X-UA-Compatible" content="IE=10"/>
>>でもダメでした。
>
> 昔調べた話ですが(下記 URL の記事参照)、ドキュメントモードは廃止される可能性があるとの
> ことで、もう切り替えることができなくなっているのかも。
>
> ブラウザーモードとドキュメントモード
> http://surferonwww.info/BlogEngine/post/2014/12/29/browser-mode-and-document-mode-of-internet-explorer.aspx
>
> meta タグでダメなら他のプラグインを探すほかなさそうです。いろいろあるはず。例えば下記の
> 記事で紹介している Grid とか。
>
> GridView のヘッダ、列を固定(その 2)
> http://surferonwww.info/BlogEngine/post/2013/02/04/freezing-header-and-column-of-gridview-by-using-javascript-gridjs.aspx
>
> ところで、前のスレッド ↓ の話ですが、何故ダメだったか調べてみましたよ。
>
> http://bbs.wankuma.com/index.cgi?mode=al2&namber=97847
>
> 見ておいてください。

ご回答ありがとうございます。
「GridView のヘッダ、列を固定(その 2)」の方法を試しています。
レイアウトはぐちゃぐちゃですが、変換されたテーブルは表示されました。
今は何故かCSSが適用されません。
HTMLに出力されてはいるのですが、開発者ツールから刺激を与えないと反映されません。(例:カーソルを当ててEnter)
週明けにもう少し頑張ってみます。

引用返信 編集キー/
■97875 / inTopicNo.5)  Re[2]: 特定のページを表示する時だけIEの互換表示設定を解除したい
□投稿者/ WebSurfer (2310回)-(2021/07/31(Sat) 10:53:36)
No97869 (emi さん) に返信

> <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
> を記述すればいいかと思い、やってみましたが同じエラーが発生しました。

どうやって IE11 を互換表示設定にしているのか不明ですが、以下の記事のように
[ツール(T)]⇒[互換設定表示(B)]でサイト全部を互換モードにしていて、特定の
ページのみ標準モードにしたいのなら、meta タグは働くはずですけど?

IE の互換表示設定と meta タグ
http://surferonwww.info/BlogEngine/post/2015/02/24/meta-tag-setting-in-page-overrides-ie-legacy-document-mode-setting.aspx

Windows 10 Pro 64-bit 21H1, IE11 11.789.19041.0 で試してみましたが、少なくとも
addEventListener が働くことは確認しました。
引用返信 編集キー/
■97881 / inTopicNo.6)  Re[3]: 特定のページを表示する時だけIEの互換表示設定を解除したい
□投稿者/ emi (12回)-(2021/08/02(Mon) 11:34:01)
No97875 (WebSurfer さん) に返信
> ■No97869 (emi さん) に返信
>
>><meta http-equiv="X-UA-Compatible" content="IE=edge"/>
>>を記述すればいいかと思い、やってみましたが同じエラーが発生しました。
>
> どうやって IE11 を互換表示設定にしているのか不明ですが、以下の記事のように
> [ツール(T)]⇒[互換設定表示(B)]でサイト全部を互換モードにしていて、特定の
> ページのみ標準モードにしたいのなら、meta タグは働くはずですけど?
>
> IE の互換表示設定と meta タグ
> http://surferonwww.info/BlogEngine/post/2015/02/24/meta-tag-setting-in-page-overrides-ie-legacy-document-mode-setting.aspx
>
> Windows 10 Pro 64-bit 21H1, IE11 11.789.19041.0 で試してみましたが、少なくとも
> addEventListener が働くことは確認しました。

はい、[ツール(T)]⇒[互換設定表示(B)]でサイト全部を互換モードにしています。
問題の画面はframesetの中で表示するのですが、metaタグでのドキュメントモード指定を効かせるには、
フレームの親画面も同じドキュメントモードにする必要があるということが分かりました。
親画面に修正を入れようかとも考えたのですが、ドキュメントモードを上げるには
framesetをiframeに変更しなければならないようで、影響が大きくなりそうなので断念しました。

結局、当初の目的であるテーブルのヘッダー固定はCSSだけで何とかなりました。
GridViewをdivで囲い、そのdivにoverflow-y:scroll;を指定、
theadとtbodyにdisplay:block;、thにposition:relative;で実現できました。

WebSurferさん、根気よくお付き合い頂き、ありがとうございます。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -