【问题标题】:Scroll Position ASP.NET hidden elements are not present in Firefox 4滚动位置 ASP.NET 隐藏元素在 Firefox 4 中不存在
【发布时间】:2011-03-23 16:35:24
【问题描述】:

我们遇到了 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 中不显示?谢谢。

【问题讨论】:

  • 我们遇到了同样的问题,与此处描述的完全一样。变量存在于其他浏览器中,但不存在于 Firefox 4 中。

标签: asp.net firefox4


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    <browsers>
        <browser refID="Firefox">
            <capabilities>
                <capability name="supportsMaintainScrollPositionOnPostback" value="true" />
            </capabilities>
        </browser>
    </browsers>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-04
      • 1970-01-01
      • 2021-10-24
      • 2020-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多