如何在“回复”模式下加载SharePoint 2013讨论页面?

时间:2015-03-08 23:15:24

标签: sharepoint-2013

我有一个用于讨论的SharePoint 2013社区网站。我想创建一个指向特定讨论项目的链接,该项目将在“回复”模式下打开讨论项目,即如果单击“讨论”项目文本下方的“回复”按钮,则会获得该模式。我想这样做是因为回复模式文本输入框位于讨论项目文本的正下方,很明显可以看到。默认回复文本输入框位于页面底部,如果已经有很多关于该主题的回复,它会滚动页面。

以下是“讨论”项目的默认视图

enter image description here

如果您点击此处的“回复”链接

enter image description here

然后在讨论项目文本下面打开一个回复窗格。

enter image description here

但我想做的是能够通过邮件发送一个URL,这将在回复模式下打开讨论主题。

1 个答案:

答案 0 :(得分:1)

我发现这样做的解决方案包括使用客户端脚本自定义/ Lists / Community Discussion / Flat.aspx,如下所示。

首先在页面中插入脚本编辑器(设置 - >编辑页面 - >添加网页部件 - >类别 - >媒体和内容 - >内容编辑器 - >脚本编辑器。

enter image description here

接下来将jquery.min.js的副本上传到Site Assets库。

然后使用Edit Snippet将以下代码添加到脚本编辑器:

<script src="/SiteAssets/jquery.min.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">

 $(document).ready(function() {

    if (location.search.indexOf('replyMode=1') != -1)
    {
      openReplyPane();
    }
  });

function openReplyPane()
{
var mouseEvent = new MouseEvent("click", {
  'bubbles': true,
  'cancelable': true,
  'view': window,
  'detail': 0,
  'screenX': 0,
  'screenY': 0,
  'clientX': 0,
  'clientY': 0,
  'ctrlKey': false,
  'altKey': false,
  'shiftKey': false,
  'metaKey': false,
  'button': 0,
  'relatedTarget': null,
  'currentTarget': 'form#aspnetForm',
  'srcElement': 'a#commandBar0-reply-Link.ms-secondaryCommandLink',
  'target':'a#commandBar0-reply-Link.ms-secondaryCommandLink',
  'timeStamp':1425842811416,
  'toElement':'a#commandBar0-reply-Link.ms-secondaryCommandLink'
});

var replyLink = document.getElementById('commandBar0-reply-Link');

replyLink.dispatchEvent(mouseEvent);
}
</script>

保存更改。

现在,如果你添加字符串&#34;&amp; replyMode = 1&#34;在讨论项目的URL末尾,您可以导航到帖子,并为用户自动打开“回复”窗格。