■78348 / inTopicNo.3) |
Re[1]: GoogleCromeでのポストバック時のスクロール位置保持 |
□投稿者/ WebSurfer (767回)-(2016/01/09(Sat) 13:39:30)
|
■No78342 (きゅう さん) に返信
> IEとFireFoxでは動作するのですが、GoogleCromeではスクロール位置が一番上に戻ってしまいます。
ASP.NET 4, Chrome の最新版 47.0.2526.106 m で試してみましたが、期待通りポストバック 前後でスクロール位置は維持されましたが????
ちなみに、Firefox 43.0.4, Safari 5.1.7, Opera 12.17 でも試しましたが、同様にストバッ ク前後でスクロール位置は維持されました。
html ソースを見てください、一番下の方に以下のようなスクリプトがインラインで含まれて いませんか?
theForm.oldSubmit = theForm.submit; theForm.submit = WebForm_SaveScrollPositionSubmit;
theForm.oldOnSubmit = theForm.onsubmit; theForm.onsubmit = WebForm_SaveScrollPositionOnSubmit;
加えて、以下のような外部スクリプトファイルへの参照が含まれていませんか?
<script src="/WebResource.axd?d=LeFq30..." type="text/javascript"></script>
それらが存在すれば動くはずです。
それらがないとすると、ブラウザ判定の問題で ASP.NET がスクリプトを生成しないというこ とが原因として考えられます。
・・・が、「.NET Framework4.5でWebFormを作成しております」というのが間違いなければ、 そういうことはなさそうです。ホントに ASP.NET 4.5 は間違いないのですか?
safari, chrome は ASP.NET 2.0, 3.0, 3.5 ではブラウザ定義に問題があるようです。詳しく は以下の記事を見てください。
Safari は downlevel browser? http://surferonwww.info/BlogEngine/post/2010/07/30/Safari-is-downlevel-browser.aspx
しかし、ASP.NET 4 の CONFIG\Browsers サブフォルダには safari.browser, chrome.browser という専用のブラウザ定義ファイルがあり、正しくブラウザ判定がされますので、「.NET Framework4.5でWebFormを作成しております」が間違いなければ、スクリプトが生成されない という問題はないはずです。
ブラウザ定義ファイル http://surferonwww.info/BlogEngine/post/2012/05/19/Web-custom-control-with-embedded-resources.aspx
HttpBrowserCapabilities オブジェクトを調べてみてはいかがですか?
また、ClientTarget を使って、問題の質問者さんの Chrome から要求をかけても、IE に 対する html ソースと同じものを返すように設定できますので、それで問題の切り分けが できると思います。
ClientTarget の利用 http://surferonwww.info/BlogEngine/post/2014/06/14/settings-of-clienttarget-property.aspx
|
|