3

WPF WebBrowser コントロールを使用して、埋め込みページを表示します。Windows 8 では、スクロール中に css position:fixed を持つ要素の奇妙なジャンプ動作が観察されます。

位置:スクロール時にジャンプするのを修正

同じページは、Windows 8 の IE10 (FF、Chrome も) と Windows 7 の WPF WebBrowser コントロールで正常に動作します。

誰かがこの動作を以前に見たことがあり、ジャンプモーションの修正を知っていますか?

テスト マシン (Surface with Win 8) で使用されている .NET バージョン 4.5 が、開発マシンの .Net バージョン 4 と比較して問題になる可能性はありますか?

開発環境:

  • ウィンドウズ7
  • Microsoft Visual Studio 2010 バージョン 10.0.30319.1 RTMRel
  • Microsoft .NET Framework バージョン 4

テスト環境:

  • 水面
  • ウィンドウズ8
  • Microsoft .NET フレームワーク バージョン 4.5

クライアント XAML:

<Window x:Class="EmbeddedBrowserTest.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <WebBrowser HorizontalAlignment="Stretch" Name="webBrowser" VerticalAlignment="Stretch" Grid.Row="1" />
    </Grid>
</Window>

デモページの HTML:

<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="X-UA-Compatible" content="IE=9" />
    <title>minimal position fixed example</title>
    <style>
        body {
            margin: 0px
        }           
        .header{
            height: 60px;
            width: 960px;
            background-color: #cccccc;
            top: 0px;
            left: 0px;
            position: fixed;
            z-index: 10;
        }    
        .content{
            padding-top: 60px;
            height: 420px;
            width: 960px;
            background-color: lightsteelblue;
        }    
    </style>
</head>

<body>
    <div class="header">
        header
    </div>    
    <div class="content">
        content <br> 1 <br> 2 <br> 3 <br> 4 <br> 5 <br> 6 <br> 7 <br>
    </div>                
</body>

</html>
4

2 に答える 2

3

コントロールとスタンドアロンの IE ブラウザーにロードされた同じ Web ページの動作に矛盾がある場合、多くの場合、問題はWebBrowser Feature ControlWebBrowserを実装することで解決できます。

<!DOCTYPE html>機能コントロールが実装されたら、によって観察されWebBrowser、ページが実際に HTML5 標準モードでレンダリングされることを確認することは理にかなっています。方法は次のとおりです。

[更新] FEATURE_BROWSER_EMULATIONが設定され9000METAタグが固定されている場合<meta http-equiv="X-UA-Compatible" content="IE=9" />( content="IE9"有効な値ではありません)、 OP のサンプル ページは実際には正しくレンダリングされます。

于 2013-09-14T14:09:30.597 に答える
0

Windows 8 を実行している新しいマシンを再度チェックしたところ、エラーはなくなりました。いくつかのチェックの後、新しいマシンには Windows 8 用の新しい更新プログラムがインストールされていることがわかりました。Surface の更新プログラムを確認しましたが、すべての更新プログラムを適用した後、エラーはなくなったようです。

最新の Win 8 Update を適用するだけで、再コンパイルや追加の設定を行わなくても、エラーは修正されます。

スクロールがスムーズになりました。同じ実行可能ファイルは変更されていないため、結局のところ、ランタイム ライブラリのバグだったと思います。

于 2013-09-18T08:02:53.857 に答える