3

我们遇到了 Firefox 4 和引用 SCROLLPOSITION asp.net 隐藏字段的 javascript 的问题。这真的是两个问题。首先,在 Firefox 4 中呈现页面时,以下字段似乎不存在(但它们在 IE9 中存在,并且可能在 Firefox 3 中存在,因为那时我们没有问题):

<div class="aspNetHidden">
    <input type="hidden" name="__SCROLLPOSITIONX" id="__SCROLLPOSITIONX" value="0" />
    <input type="hidden" name="__SCROLLPOSITIONY" id="__SCROLLPOSITIONY" value="0" />
</div>

其次,Firefox 4 允许由于引用不存在的滚动位置元素而导致的 javascript 错误杀死整个页面的所有其他 javascript。因此,Telerik 控件停止工作,等等。

无论如何,看起来解决方案是让隐藏字段在 Firefox 4 中正确显示(注意:其他 aspNetHidden 字段,例如 EVENTTARGET 和 VIEWSTATE,正在正确显示)。这是 BrowserCaps 的事情吗?我认为 BrowserCaps 已经完成(我们使用的是 .NET 4)。我们在网站的文件夹结构中没有 .browser 文件。

什么可能导致滚动位置字段在 Firefox 4 中不显示?谢谢。

4

2 回答 2

1

这确实是一个浏览器上限问题。我很确定除了 3.x 之外,还需要修改 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\Browsers\firefox.browser 以影响 4.x。这是一个愚蠢的问题,每次新的浏览器问世时都会困扰我们,因此我们正在尝试提出一个更好的解决方案,而不涉及对浏览器文件进行打地鼠游戏。

于 2011-06-20T21:08:25.233 回答
0

如果您不关心在(现在)古老版本的 Firefox 上指定正确的功能,那么为所有未来版本的 Firefox 启用“supportsMaintainScrollPositionOnPostback”功能非常简单。您可以通过在文件夹下创建一个文件(例如,“firefox.browser”)来针对每个应用程序执行此操作App_Browsers,其中包含以下内容:

<browsers>
    <browser refID="Firefox">
        <capabilities>
            <capability name="supportsMaintainScrollPositionOnPostback" value="true" />
        </capabilities>
    </browser>
</browsers>
于 2011-12-05T21:41:09.470 回答