本地主机加载时浏览器会自动滚动到页面底部

8
这是我见过的最奇怪的问题。 我正在使用Visual Studio Enterprise 2015版本14.0.25425.01 Update 3开发.NET Web应用程序。 今天当我启动其中一个Web应用程序时,在页面完全加载后,突然它滚动到了底部。 起初我以为可能是JavaScript函数或其他原因,但事实并非如此。 在托管服务器上它可以正常工作,但在本地主机上存在这个问题。
我尝试的诊断步骤如下,并且没有想到其他的方法。
1)我让我的同事从TFS获取我的版本并运行它,该项目在他的计算机上没有任何问题。
2)我重新发布了我的版本并上传到主机,它在主机上也很好地工作。
3)我注释掉所有的CSS和JS文件,重置Chrome缓存并再次尝试,但仍然没有成功!
4)我下载并安装了Mozilla Firefox,问题仍然存在。
5)我重新启动了IIS Express并重启了我的笔记本电脑,但没有帮助。
6)我打开了另一个解决方案并运行它,但奇怪的是其他项目也存在这个问题!!
7)我尝试更改项目端口,但没有帮助。
8)我尝试创建一个没有MasterPage的新页面,它没有问题。
9)当我向页面添加按钮或锚元素时,浏览器会滚动到该元素,但没有任何活动元素(如锚点或按钮)的页面则没有问题。
10)我还尝试在Chrome设置中禁用和启用滚动固定,但没有帮助。
我很困惑。如果浏览器引起了问题,为什么它在主机上可以正常工作,而只有本地主机存在问题?为什么FF和Chrome都有同样的问题?是否可能是IIS引起这样的问题?!
任何帮助将不胜感激。

2
现在无法重现此问题,但我记得过去Browser Link(WebEssentials)存在问题 - 当然这是假设您已经安装了它... - EdSF
4个回答

6

我刚刚遇到了这个问题,明显是浏览器链接的原因。要禁用它,您可以将以下设置添加到您的web.config文件中。

<add key="vs:EnableBrowserLink" value="false" />

正如 @Salman 提到的那样,这应该放在 appSettings 部分中:
<appSettings>
    <add key="vs:EnableBrowserLink" value="false" />
</appSettings>

1
哎呀,我今天也遇到了同样的问题,谢谢。 - Raphael Ribeiro
1
可能只是我个人的问题,但浏览器链接一直都很麻烦,完全没有用。我讨厌它。 - glosrob
<appSettings> <add key="vs:EnableBrowserLink" value="false" /> </appSettings> - SalmanShariati
确认答案可以解决问题。这个问题在2017年3月8日开始出现。 - Arthur Yegiazaryan

2

我也遇到了这个问题,而且是从昨天开始的。症状相同——本地出现但发布后不会出现。

昨天实施了一个Windows更新——面向基于x64系统的Windows 7的更新(KB2952664)。我想知道它们是否有关联。

对我来说,禁用浏览器链接也有效。


1
这是由于最近对Web Accessibility Checker扩展的更新引起的。我刚发布了修复版1.4.47。

最新版本为1.4.46,仍未在扩展和更新中提供。 - SalmanShariati

0

浏览器行为(问题):

加载时,浏览器会自动滚动到页面底部。


问题:

Web Essentials 在某种程度上导致了 Browser Link 的一个错误。


临时解决方案(无需更改web.config):

1)禁用浏览器链接 > 取消选中以下复选框:

Broswer Link Disable

OR

2) 禁用Web Essentials扩展。

更多细节:

显然,问题出现在browserLink.js中使用{{link1:Element.scrollIntoView()}}这样的代码行时:

u.getBackgroundColor = function(a) {
  var b = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [],
    e = arguments.length > 2 && void 0 !== arguments[2] && arguments[2];
  e !== !0 && a.scrollIntoView();
  var f = [],
    g = u.getBackgroundStack(a);
  return (g || []).some(function(e) {
      var g = window.getComputedStyle(e),
        h = d(e, g);
      return a !== e && !v.visuallyContains(a, e) && 0 !== h.alpha || c(e, g) ? (f = null,
        b.push(e), !0) : 0 !== h.alpha && (b.push(e),
        f.push(h),
        1 === h.alpha)
    }),
    null !== f && null !== g ? (f.push(new u.Color(255, 255, 255, 1)),
      f.reduce(u.flattenColors)) : null
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接