gpt4 book ai didi

sharepoint - 如何在 SharePoint 2010 CEWP(100% JavaScript 解决方案)中利用自定义样式和标记样式

转载 作者:行者123 更新时间:2023-12-03 16:29:57 25 4
gpt4 key购买 nike

简而言之,使用 RichHtmlField,我们可以自定义哪些样式和标记样式出现在功能区的下拉列表中。我们不能使用 OOTB 内容编辑器 Web 部件。

在询问/对比 RichHtmlField 与 CEWP(发出的 HTML/JavaScript)之后,我确实找到了 JavaScript 解决方案。

虽然 RichHtmlField 发出页面脚本来初始化字段控件,但 CEWP 不发出此类初始化脚本。此外,RichHtmlField 发出的 HTML 属性数量明显多于 CEWP,其中两个属性是 PrefixStyleSheetStyleSheet

PrefixStyleSheet 标识下拉菜单中使用的样式表前缀。样式表 是品牌 css 文件的服务器相对 url。

所以,如果所有这些都是真的,我们应该能够使用 jQuery 初始化带有品牌样式表的 CEWP:

<script type="text/javascript">
ExecuteOrDelayUntilScriptLoaded(function() {

// window.setTimeout(function() {

$("div[RteRedirect]").each(function() {

var id = $(this).attr("RteRedirect"),
editSettings = $("#" + id);

if(editSettings.length > 0 && editSettings[0].PrefixStyleSheet != 'yourcustom-rte') {
editSettings[0]['PrefixStyleSheet'] = 'yourcustom-rte';
editSettings[0]['StyleSheet'] = '\u002fStyle Library\u002fen-US\u002fThemable\u002fCore Styles\u002f<somecustomstylesheet>.css';
RTE.Canvas.fixRegion(id, false);
}

});

// }, 2000);

}, "sp.ribbon.js");

</script>

我希望这对某人有所帮助。这段代码可以有很多不同的方向。我只是介绍基本原理。如果您将它添加到 EditModePanel 内的母版页,它将跨站点工作。

那里有一个计时器,因为根据脚本加载的顺序,某些东西可能会在您完成后与您所做的事情混淆。让我知道这对您是否有效/无效。

在某个地方记录这个问题的解决方案会很酷。

干杯,

中号

最佳答案

信不信由你 4 年后这篇文章很有帮助!

为了让它工作,我必须改变这个:

 $("td[RteRedirect]").each(function() {

var id = $(this).attr("RteRedirect");
editSettings = $("#" + id);

谢谢

关于sharepoint - 如何在 SharePoint 2010 CEWP(100% JavaScript 解决方案)中利用自定义样式和标记样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7615767/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com