我有一个用于讨论的SharePoint 2013社区网站。我想创建一个指向特定讨论项目的链接,该项目将在“回复”模式下打开讨论项目,即如果单击“讨论”项目文本下方的“回复”按钮,则会获得该模式。我想这样做是因为回复模式文本输入框位于讨论项目文本的正下方,很明显可以看到。默认回复文本输入框位于页面底部,如果已经有很多关于该主题的回复,它会滚动页面。
以下是“讨论”项目的默认视图
如果您点击此处的“回复”链接
然后在讨论项目文本下面打开一个回复窗格。
但我想做的是能够通过邮件发送一个URL,这将在回复模式下打开讨论主题。
答案 0 :(得分:1)
我发现这样做的解决方案包括使用客户端脚本自定义/ Lists / Community Discussion / Flat.aspx,如下所示。
首先在页面中插入脚本编辑器(设置 - >编辑页面 - >添加网页部件 - >类别 - >媒体和内容 - >内容编辑器 - >脚本编辑器。
接下来将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末尾,您可以导航到帖子,并为用户自动打开“回复”窗格。