在SharePoint Online中,我遇到了一个奇怪的问题。 我有两个站点,站点A在其中创建了一些左侧导航,这些导航应将我定向到站点B的文档库。我已经为这些导航提供了正确的(Site-B文档库URL作为链接),但它无法将我定向到正确的位置。而是将我重定向到AllItems.aspx(如下所示为Site-B):
带我到这里:(不正确的网址)
company.sharepoint.com/sites/mysiteB/Shared%Documents/Forms/AllItems.aspx
我给它指定的URL :(正确的)
company.sharepoint.com/sites/mysiteB/Shared%Documents/Forms/AllItems.aspx?id=sites/mysiteB/Shared%Documents/folders/myfolder1
当我尝试打开如下图所示的导航时,它变得很有趣(而且很奇怪),它完全可以工作。
任何帮助将不胜感激。 谢谢。
答案 0 :(得分:0)
在网站上激活发布功能后,SharePoint会自动修剪查询字符串参数。
这大概是因为它在后台进行了一些额外的工作来监视链接,并在链接到的页面被重命名或删除时使链接保持最新。
有趣的是,如果您链接到另一个网站上的位置,或者完全链接到SharePoint之外的位置,它将保留查询字符串参数。这只是当前站点中的链接,将其剪裁掉。
您可能可以通过disabling the publishing feature解决此问题。
这样做的缺点是您将失去发布功能的所有优势,因此只有在不利用发布框架的情况下,才采用这种方法。
我见过的一种解决方案是inject JavaScript到出现链接的每个页面上。 JavaScript会找到该链接并为您附加查询字符串参数。
那真是胡扯。
一种解决方法是告诉SharePoint您希望查询字符串参数是什么,或者告诉它此链接是外部的,因此不应区别对待。不幸的是,它只允许您执行此操作programmatically;没有用于添加查询字符串参数或将链接标记为外部的用户界面,并且发布基础结构功能提供的导航菜单不会删除它。
最简单的最后一种可能的解决方法是创建重定向页面。
此页面上可能包含一些JavaScript,可将您发送到正确的页面,并将查询字符串参数附加到URL。您可以链接到左侧导航栏中的重定向页面,而不是直接使用查询字符串参数链接到页面。
<script>
window.location.href = "https://company.sharepoint.com/sites/mysiteB/Shared%Documents/Forms/AllItems.aspx?id=sites/mysiteB/Shared%Documents/folders/myfolder1";
</script>
如果JavaScript对您的情况来说太吓人或危险,则该页面还可能只包含一些说明性文字和可单击的链接,而不是自动重定向。用户可以单击该链接进入带有附加到URL的正确查询字符串参数的页面。