1

そのため、私の現在のプロジェクトでは、ここ数週間で特に有害な問題に遭遇しました。Telerik RadWindow スタイルが適切にレンダリングされなくなりました。境界線の周りに余分なスペースがあるように見え、ウィンドウ アイコンが左上にぴったりと収まっていて、タイトル バー ボタンが存在しますが、それらのアイコンは見えません。RadAlert と RadWindow でまったく同じ問題が発生しています。チームメイトも Firefox と IE を使用しており、まったく同じ問題を抱えています。

ただし、この問題はすべてのページで発生するわけではありません。特定のページで RadWindows が適切に表示されるかどうかは、そのページで常に一貫しています。以前、ウィンドウが正しく表示される場所で、キャッシュを無効にしても何も変わらなかったにもかかわらず、Chrome が毎回新しいスタイルシートをダウンロードしていることに気付きました。

バグのあるスタイルシートに使用されている URL が通常のものと異なることに気付きました。比較のためにクエリ文字列を分解したところ、_TSM_CombinedScripts_パラメーターはさまざまな公開キー トークンを提供します。最初はまったく同じですが、最後にはまったく別のものになります。

normal:

d=d_7ijIXc06Eqg7xyrMT_AE_WxZL3XaVJz_VwsvOdK_1ssgHIAGoqaJzPVn-aFQFJVakZqv0a6M6IUW8lKaDBl-g9FohhCb-0KC2Mu14d6L4y47PrZb-wQiVUGqaxwCy7qcc2Dw2
t=635823632443834005
compress=1
_TSM_CombinedScripts_=
    ;;Telerik.Web.UI, Version=2014.3.1209.45, Culture=neutral, PublicKeyToken=121fae78165ba3d4:en-US:cd668efa-682a-4e93-b784-26f0724f247c:92753c09:ed2942d4:580b2269:8cee9284:a3b7d93f:9e1572d6:aac1aeb7:1c2121e:4d471440:c86a4a06:45085116
    ;Telerik.Web.UI.Skins, Version=2014.3.1209.45, Culture=neutral, PublicKeyToken=121fae78165ba3d4:en-US:a1fec5ec-d336-48a8-850e-06eaadf10400:62641802:f82ffad1:9db7724d:fa319bc5:226a649d:51352d27:8b77daa8:976fe3c:f144572

buggy:

d=d_7ijIXc06Eqg7xyrMT_AE_WxZL3XaVJz_VwsvOdK_1ssgHIAGoqaJzPVn-aFQFJVakZqv0a6M6IUW8lKaDBl-g9FohhCb-0KC2Mu14d6L4y47PrZb-wQiVUGqaxwCy7qcc2Dw2
t=635823632443834005
compress=1
_TSM_CombinedScripts_=
    ;;Telerik.Web.UI, Version=2014.3.1209.45, Culture=neutral, PublicKeyToken=121fae78165ba3d4:en-US:cd668efa-682a-4e93-b784-26f0724f247c:92753c09:ed2942d4:580b2269:1c2121e:9e1572d6:45085116
    ;Telerik.Web.UI.Skins, Version=2014.3.1209.45, Culture=neutral, PublicKeyToken=121fae78165ba3d4:en-US:a1fec5ec-d336-48a8-850e-06eaadf10400:62641802:f82ffad1:9db7724d:8b77daa8:226a649d

あらゆる種類のジャッキアップ

実際のバグについては、少し調べてみたところ、スタイルシートが実際に独自のスタイルをオーバーライドしていることがわかりました。Telerik.UI.Webresource.axd から返されたスタイルシートをフォーマッターで実行したところ、216 行目でいくつかのルールが定義されています。

.RadWindow .rwCloseButton {
    background-position: -90px 0
}

.RadWindow .rwCloseButton:hover {
    background-position: -90px -21px
}

次に、4634 行でそれらをオーバーライドします。バグのあるスタイルシートには、全体で約 2600 行の余分な行があります。奇妙なことに、これらの新しいルールは、通常の閉じるボタンのスタイルを非アクティブ ウィンドウのホバー付きの閉じるボタンにも適用します。

.RadWindow .rwCloseButton,
.RadWindow.rwInactiveWindow .rwCloseButton:hover {
    background-position: -1px -762px
}

.RadWindow .rwCloseButton:hover {
    background-position: -21px -762px
}

ウィンドウが正しく表示されるページでは、最初の 2 つのルールのみが適用され、2 番目のルール セットは表示されません。スタイルがどのようにまとめられているのか、またはなぜそれ自体をオーバーライドしているのかがわかりません。

私が知る限り、参照は変更されていません。何もアップグレードされておらず、web.config は変更されていません。ローカル環境と開発ボックスの両方で同じ問題が発生しています。

4

1 に答える 1

0

すべての RadWindows から削除するかRenderMode="Lightweight"、すべての RadWindows にそれがあることを確認して、問題を解決してください。

問題は、私たちのチーム メンバーの 1 人がいくつかのページに RadWindows を追加したことでしたRenderMode="Lightweight"。おそらく、ロードされた 2 番目のスタイルシートは実際には軽量モード用でした。これが、ドキュメントでレンダリング モードを混在させないように指示されている理由です。

于 2016-12-05T21:22:00.103 に答える