そのため、私の現在のプロジェクトでは、ここ数週間で特に有害な問題に遭遇しました。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 は変更されていません。ローカル環境と開発ボックスの両方で同じ問題が発生しています。