网页刷新时,默认情况下不会将焦点放在SharePoint页面的顶部

时间:2013-03-05 17:02:13

标签: html sharepoint coldfusion focus

我有一个用ColdFusion5编写的注册页面,它嵌套在SharePoint 2010页面中 当我单击注册时的提交按钮时,注册页面会根据需要转到确认页面,但我需要将SharePoint页面滚动到最顶层。

我在线研究并尝试过:

通过表格标签将#top添加到注册页面:

<form name="form1" method="post" onsubmit="return NonMemberValidateForm2()" action="processRegistration.cfm#top">

将location.href ='#top'添加到确认页面的onload函数:

<body onload="location.href='#top'">

但是,这些都不起作用。有什么想法吗?

编辑: 我的SharePoint页面上有一个Web部件查看器。它是一个很大的部分,所以我必须向下滚动实际的SharePoint页面来查看整个事情(我已经禁用了Web部件上的滚动条)。当我向下滚动到SharePoint页面的底部时,我单击查看器中的按钮。这将刷新查看器中的页面,但我仍然位于SharePoint页面的底部。我希望能够将一些代码附加到该按钮,使外部SharePoint页面一直滚动到顶部。

1 个答案:

答案 0 :(得分:0)

正如Marek在评论中指出的那样,SharePoint 2010基本上“杀死”页面上的锚点支持。此问题是由Microsoft为支持功能区UI显示并将其固定在页面顶部而选择遵循的特定实现引起的。

解释这里的所有代码都会很长,但基本上归结为标记为“scroll = no”的页面标记的body标记

<body scroll="no">

这实际上会在页面加载时禁用滚动。然后执行名为FixRibbonAndWorkspaceDimensions的javascript函数,以向页面添加“溢出”和滚动支持。

也就是说,如果你想使用锚点,你必须编辑你的母版页来改变上述代码。如果您决定遵循这条道路,您最好的猜测是尝试重新实现功能区使用位置:固定而不是javascript函数来管理定位。

实际上,有人已经尝试过这个。看看Kyle的这篇博客文章。如果您决定尝试修复页面布局,它可能会有所帮助:SharePoint 2010 Scrolling