0

我有一个用 ColdFusion5 编写的注册页面,它嵌套在 SharePoint 2010 页面中。
当我点击注册上的提交按钮时,注册页面按要求进入确认页面,但我需要将 SharePoint 页面滚动到最顶部。

我在网上研究并尝试过:

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

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

在确认页面的onload函数中加入location.href='#top':

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

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

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

4

1 回答 1

0

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

在这里解释所有代码会很长,但基本上可以归结为标有“scroll=no”的页面的正文标签

<body scroll="no">

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

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

实际上,已经有人尝试过了。看看凯尔的这篇博文。如果您决定尝试修复页面布局,它可能会对您有所帮助:SharePoint 2010 滚动

于 2013-03-06T14:43:51.423 回答