0

私は人気のあるcssハックを使用して、ここにあるInternet Explorer8でborder-radiusを有効にしています:( Curved-corner-border-radius-cross-browser)。

ポストバックがありSmartNavigation=Trueである.netページを除いて、IE8では期待どおりに機能します。ポストバックで、javascriptエラーの無効な引数行87が表示されます。これは、角が丸いオフセットハイト/オフセット幅のdivが取得されているhtcファイルにあります。cssが正しく機能せず、レイアウトが完全に台無しになっています。

このhtcファイルにjavascriptアラートを入れて、角が丸くなっているはずのコンテナのoffsetWidthの値を表示します。数値が表示されているページを最初にロードするときに、アラートで[OK]をクリックすると、cssが正常に表示されます。ポストバック時に、アラートは値-1を表示します。アラートで[OK]をクリックすると、CSSが壊れます。SmartNavigation = Trueの場合、ポストバックでoffsetWidth / offsetHeightが見つからないのはなぜですか?

ポストバック時にエラーが発生し、無効な引数行87(実際にはアラート付きの88)とcssはレンダリングされません。私はそれがページの初期化とこのhtcファイルのjavascriptが呼び出されているときに関係していると思います。この場合、最初のページの読み込みで機能するのはなぜですか。SmartNavigation= Tureの場合、ポストバック中にhtcファイルがどのように呼び出されるのか。このIEハックをSmartNavigationで機能させるために何をすべきか考えていますか?

ページは次のとおりです:http: //innerworkingdesigns.com/demos/radius/test.aspx

htcファイルを表示するには、ここをクリックしてください http://innerworkingdesigns.com/demos/radius/styles/border-radius.htc

4

2 に答える 2

1

問題はSmartNavigation=Trueにあります。これを削除するか、falseに設定すると、問題が修正されます。SmartNavigation = Trueで解決された問題は引き続き残りますが、これはマイナーであり、SmartNavigationは非推奨になっていますhttp://msdn.microsoft.com/en-us/library/system.web.ui.page.smartnavigation.aspx

于 2012-11-30T18:43:04.493 に答える
0

以前のバージョンのIEで試している場合、border-radiusは機能しません。

IE 9でこれを試している場合は、次のことを確認してください。

<meta http-equiv="X-UA-Compatible" content="IE=9" />
于 2012-11-01T19:05:34.020 に答える