0

我正在使用流行的 css hack 来启用 Internet Explorer 8 中的边界半径,可以在此处找到:( Curved-corner-border-radius-cross-browser )。

它在 IE8 中按预期工作,但在任何具有回发和 SmartNavigation=True 的 .net 页面上除外。在回发时,我收到一个 javascript 错误 Invalid Argument Line 87,这是在 htc 文件中,其中正在检索具有圆角的 offsetHeight / offsetWidth 的 div。css 无法正常工作,布局完全混乱。

我在这个 htc 文件中放了一个 javascript 警报,只是为了显示应该有圆角的容器的 offsetWidth 的值。当您第一次加载页面时,您会看到数值,单击警报上的确定,css 将按应有的方式显示。在回发时,警报将显示值 -1。在警报上单击“确定”,css 已损坏。为什么 SmartNavigation=True 时无法在回发时找到 offsetWidth / offsetHeight?

在回发时发生错误,无效的参数行 87(实际上是 88 现在带有警报)并且 css 不呈现。我怀疑这与页面初始化以及调用此 htc 文件中的 javascript 时有关。如果是这种情况,为什么它在第一个页面加载时工作,是什么导致在 SmartNavigation=Ture 的回发期间调用 htc 文件的方式不同。?有什么想法可以让这个 IE hack 与 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 中尝试它,那么边界半径将不起作用..

如果您在 IE 9 中尝试此操作,请确保您有

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