好的,所以我现在几个小时一直在努力解决这个问题...... 我需要修改搜索结果中的链接,以便在新窗口/选项卡中打开它们。
具体来说,它是链接到"场外" -hit的搜索结果。 我已经创建了Item_WebPage.html的副本,但我无法让它工作。
我想有一些异步负载可以解决所有问题。
我的js-code如下:
var anchors = document.getElementsByClassName('ms-srch-item-link');
for (var i = 0; i < anchors.length; i++) {
anchors[i].setAttribute("target", "_blank");
}
}
然而,&#34;锚点&#34;永远是&#34; 0&#34;。 是否有&#34; sharepoint-document-ready-as-h * ll&#34; -function我可以使用? 我的猜测是我的问题是在运行我的代码之前并非所有内容都被加载到DOM中......
答案 0 :(得分:0)
这太长了,你可能已经解决了。
我一直在寻找相同的东西,并在自定义显示模板中添加了 - target =“_ blank”到锚标记
答案 1 :(得分:0)
在SharePoint在线,这对我来说非常合适,但适用于所有结果。
使用SharePoint Designer,从_catalogs / masterpage / display templates / search中更新Item_CommonItem_Body.html显示模板。
搜索以下行:
var titleHtml = String.format('<a clicktype="{0}" id="{1}" href="{2}" class="ms-srch-item-link" title="{3}" onfocus="{4}" {5} >{6}</a>',
并将其替换为:
var titleHtml = String.format('<a clicktype="{0}" id="{1}" href="{2}" class="ms-srch-item-link" title="{3}" onfocus="{4}" {5} target="_blank">{6}</a>',
保存更改,并从浏览器母版页库中发布主要版本。现在搜索时,结果应该在新选项卡中打开,尽管您可能需要再次加载页面缓存(CTRL + F5)。