首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用PnP JS在SharePoint online中以编程方式添加页面/web部件区域/web部件?

PnP JS是一个用于与SharePoint Online进行交互的JavaScript库,它提供了一组简化的API,可以通过编程方式添加页面、Web部件区域和Web部件。下面是在SharePoint Online中使用PnP JS以编程方式添加页面、Web部件区域和Web部件的步骤:

  1. 首先,确保你已经安装了PnP JS库。你可以通过在你的项目中引入以下脚本来实现:
代码语言:txt
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/pnp-pnpjs/3.0.10/pnpjs.es5.umd.bundle.min.js"></script>
  1. 创建一个JavaScript文件,并在文件中编写以下代码:
代码语言:txt
复制
// 导入PnP JS库
import { sp } from "@pnp/sp";

// 设置SharePoint Online网站的URL
const siteUrl = "https://your-sharepoint-site-url";

// 使用PnP JS库连接到SharePoint Online网站
sp.setup({
  sp: {
    baseUrl: siteUrl,
  },
});

// 添加页面
function addPage() {
  // 使用PnP JS库的Pages API添加页面
  sp.web.lists.getByTitle("Site Pages").items.add({
    Title: "New Page",
    PageLayoutType: "Article",
  }).then((result) => {
    console.log("Page added successfully");
  }).catch((error) => {
    console.log("Error adding page: " + error);
  });
}

// 添加Web部件区域
function addWebPartZone() {
  // 使用PnP JS库的WebPartPages API添加Web部件区域
  sp.web.getFileByServerRelativeUrl("/SitePages/NewPage.aspx").getItem().then((item) => {
    item.getLimitedWebPartManager().addWebPartZone().then((result) => {
      console.log("Web part zone added successfully");
    }).catch((error) => {
      console.log("Error adding web part zone: " + error);
    });
  }).catch((error) => {
    console.log("Error getting page item: " + error);
  });
}

// 添加Web部件
function addWebPart() {
  // 使用PnP JS库的WebPartPages API添加Web部件
  sp.web.getFileByServerRelativeUrl("/SitePages/NewPage.aspx").getItem().then((item) => {
    item.getLimitedWebPartManager().importWebPart("<?xml version=\"1.0\" encoding=\"utf-8\"?><WebPart xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns=\"http://schemas.microsoft.com/WebPart/v2\"><Title>New Web Part</Title><FrameType>Default</FrameType><Description>New web part description</Description><IsIncluded>true</IsIncluded><ZoneID>WebPartZone1</ZoneID><PartOrder>1</PartOrder><FrameState>Normal</FrameState><Height /><Width /><AllowRemove>true</AllowRemove><AllowZoneChange>true</AllowZoneChange><AllowMinimize>true</AllowMinimize><AllowConnect>true</AllowConnect><AllowEdit>true</AllowEdit><AllowHide>true</AllowHide><IsVisible>true</IsVisible><DetailLink /><HelpLink /><HelpMode>Modeless</HelpMode><Dir>Default</Dir><PartImageSmall /><MissingAssembly>Cannot import this Web Part.</MissingAssembly><PartImageLarge>/_layouts/15/images/mscontl.gif</PartImageLarge><IsIncludedFilter /><Assembly>Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c</Assembly><TypeName>Microsoft.SharePoint.WebPartPages.ContentEditorWebPart</TypeName><ContentLink xmlns=\"http://schemas.microsoft.com/WebPart/v2/ContentEditor\" /><Content xmlns=\"http://schemas.microsoft.com/WebPart/v2/ContentEditor\"><![CDATA[<div>Hello, world!</div>]]></Content><PartStorage xmlns=\"http://schemas.microsoft.com/WebPart/v2/ContentEditor\" /></WebPart>").then((result) => {
      console.log("Web part added successfully");
    }).catch((error) => {
      console.log("Error adding web part: " + error);
    });
  }).catch((error) => {
    console.log("Error getting page item: " + error);
  });
}

// 调用函数以添加页面、Web部件区域和Web部件
addPage();
addWebPartZone();
addWebPart();
  1. 将JavaScript文件上传到SharePoint Online网站的某个位置,例如“Site Assets”库。
  2. 在SharePoint Online网站中创建一个页面,并将页面的布局设置为“Article”。
  3. 编辑页面,并在页面中插入一个“Content Editor”Web部件。
  4. 在Web部件的“编辑Web部件”对话框中,将“内容链接”设置为JavaScript文件的URL,例如:
代码语言:txt
复制
~site/SiteAssets/add-page-webpart.js
  1. 保存页面并查看结果。你将看到一个新页面被添加到“Site Pages”库,并且在页面上有一个新的Web部件区域和一个Web部件。

这样,你就可以使用PnP JS在SharePoint Online中以编程方式添加页面、Web部件区域和Web部件了。请注意,以上代码仅为示例,你可以根据自己的需求进行修改和扩展。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

SharePointWeb Parts 是什么

我们需要使用这些砖块来完成一个页面的构建。我们可以利用 Web Parts SharePoint 添加文本,图片,文件,视频,甚至是动态内容。...添加 Web Parts完成页面布局的 Section 后,单击页面布局上面的 Section,上的 X 号,就会弹出一个小窗口。...在这个小窗口可以对我们需要使用Web Parts 进行选择后添加Web Parts 默认上已经有了很多的选择了,但是很多时候可能还是不够用。...可以访问:GitHub - pnp/sp-dev-fx-webparts: SharePoint Framework web part, Teams tab, personal app, app page...NodeJs 的版本需要到 18,同时还需要一些框架基础和编程基础才可以。这部分的编程都是前端的 JS 编程了,对后端的要求不高。

28430
  • SharePoint 页面插入自定义代码

    我们都知道 SharePoint 是对页面进行编辑的。对于一些有编程基础的人来说,可能需要对页面插入代码,这样才能更好的对页面进行配置。...但是新版本的 SharePoint modern 页面来说,虽然我们可以插入 Embed 组件。但是 Embed 组件是不允许提供 Script 和 Html 脚本的。...很多高级的功能都不能用了,页面的排版也就是能使用 SharePoint 提供的几个样式,一点都不生动。...自定义 Web Parts对于没有提供的 Web Parts,我们是可以通过自定义组件的方式添加到我们站点上的。这里,我们可以用到 react-script-editor 这个组件。...这样的话,我们就可以页面嵌入相关内容组件了,你可以在这个内容组件上对提供的代码进行编辑。https://www.isharkfly.com/t/sharepoint/15129

    18220

    openwrt外网web管理_OpenAPI

    更确切地说,它提供了面向对象编程语言元素,但你必须自己定义,自己选择如何做。 OpenERP Web 框架提供工具来简化这个过程,让程序员类似其他编程语言,如 Java 的方式编码。...要想显示些内容,我们用 jQuery 该对象上的一些简单方法,根标签添加一些 HTML 标签: instance.oepetstore.HomePage = instance.web.Widget.extend...$el 当你部件重载init()时,必须部件作为第一参数传入,并调用传入给this....2.Qweb OpenERP 使用Qweb模板引擎,专门用于Web 客户端开发。 Qweb 是一种基于XML的模板语言,类似Genshi,Thymeleaf 或 Facelets。...因为单个页面内,一个部件可以多次使用(一个例子是OpenERP的仪表板),选择范围应限制一个给定的组件的范围。

    6.3K10

    Wijmo 更优美的jQuery UI部件集:发现 Wijmo

    Wijmo 是一个基于jQuery UI的UI部件的套件。Wijmo 部件对客户端Web开发进行了优化,并且充分利用了jQuery的强大能力达到出色的性能和易用性。...如何引用Wijmo 你可以通过使用内容传送网络(CDN)轻松的将Wijmo加载到你的web页面。CDN使得使用外部库以及部署到最终用户的过程变得更加方便快捷。CDN是遍布世界各地的计算机网络。...理想的情况下,如果你美国,并且你访问一个使用了CDN的web页面,你会从架设在美国的服务器主机获取你所需要的内容。..." type="text/javascript"> 以上标记语法,你应当注意到了,有一些.js文件标记为*.min.js。...: false }); web浏览器打开你的工程,可以看到其他月份的天不再出现在日历上,它看起来就像这样: 你可以向一个部件传递多个参数。

    2.7K90

    MVC架构Asp.net的应用和实现

    图2.1 MVC关系图 2、为什么要在Web应用中使用MVC架构 用户界面逻辑的更改往往比业务逻辑频繁,尤其是基于Web的应用程序。例如,可能添加新的用户界面页,或者可能完全打乱现有的页面布局。...使用多个包含单页面显示的用户部件,复杂的Web页面可以展示来自多个数据源的内容,并且网页人员,美工能独自参与这些Web页面的开发和维护。Asp.net下,视图的实现很简单。...使用由用户部件根据模板配置组成的组合页面,它增强了可重用性,并简化了站点的布局。.Asp.net2.0,可以使用MasterPage来简化视图设计。...每个Asp.net页面都有一种机制,将页面部件所要调用的方法一个与其分离的类实现。...下面讨论如何实现一个模型、两个视图和一个控制器的程序。其中模型类及视图类根本不需要改变,与前面的完全一样,这就是面向对象编程的好处。对于控制器的类,只需要增加另一个视图,并与模型发生关联即可。

    3.7K20

    独立开发者必备的29个开源React后台管理模板

    React Web应用程序开发管理后台可能非常耗时,这和设计所有前端页面一样重要。 以下是收集的近几年顶级React.js管理模板列表。...它很容易开发人员友好的方式进行定制和编码。这是一个多概念主题,有大量页面。 16....每个页面都有自己的模块,因此完整的模板是100%模块化的,只需生成带有反应的组件,就可以轻松添加页面。除此之外,我们还使用了最新的reactstrap版本来提供灵活快捷的布局方式。...直接可用的小部件使您可以灵活地仪表板和其他页面上显示多个详细信息。如果您正在构建SAAS产品,请购买扩展许可证。...它配备了3种不同的布局,8个导航栏,顶部导航和左侧边栏颜色样式,100多个页面,每个布局的500多个小部件和组件,以及许多小部件和定制的可重复使用组件,帮助您使用下一个React应用程序。

    5.4K10

    如何编写一个原生 Web Components 组件

    今天的前端编程,利用语义化的 HTML 结合 CSS 来完一个组件并不是一件难事,这也意味着无论 React、Vue 中都可以插入,不过它俩不是今天的主角,接下来我将用一个例子来介绍如何封装一个完整的原生...通过单击小部件“打开”和“关闭”状态之间切换,显示或隐藏标签包含的附加信息,内部标签  元素则可为该部件提供概要。...定义组件有了上面封装好的模板,我们就需要在 JS 定义成可用组件来让其能够被使用,调用 window 下的 customElements.define 方法,第一个参数是传入组件名称,我们定义组件名为...var content = templateElem.content.cloneNode(true); this.appendChild(content); } })接着我们就可以页面把它当作组件那样使用了...: 插槽与传参回头看看上面我们模板设置的插槽 slot,此时还是没有生效的,我们需要稍微改写一下构造函数的渲染方式,将 web 组件定义为一个

    74410

    Rxjs 响应式编程-第六章 使用Cycle.js的响应式Web应用程序

    本章,我们将介绍一些开发Web应用程序的新技术,例如Virtual DOM。 我们将使用Cycle.js,这是一个现代,简单,漂亮的框架,在内部使用RxJS并将响应式编程概念应用于前端编程。...Cycle.js反应方式设计,Cycle.js的所有构建块都是Observables,这给我们带来了巨大的优势。 它比其他框架更容易掌握,因为理解和记忆的概念要少得多。...安装Cycle.js 我们可以通过使用 标记将它包含在HTML页面使用Cycle.js,但这不是使用它的最佳方式,因为Cycle.js是以极其模块化的方式设计的。...h类似于HTML的方式声明节点,但使用JavaScript语言。我们可以通过将额外的对象或数组作为参数传递给h来向元素添加属性或将子元素附加到它们。生成的虚拟树最终将呈现为真正的浏览器DOM。...将其实现为小部件。 总结 现在您知道如何开发使用现代技术的Web应用程序而不放弃响应性理念。 本章提供了如何使用Observables和RxJS作为其他框架或应用程序的内部引擎的想法。

    3.2K30

    Wijmo 更优美的jQuery UI部件集:爱上 ThemeRoller

    ThemeRoller 是一个创建独特的jQuery UI web 部件主题皮肤的web应用程序。...使用ThemeRoller开始工作:一个简短的教程 在这篇文章,我们将演练开始创建你自己的主题并将其添加到一个Wijmo工程。...接下来,既然已经到这儿了,我们不妨继续一并更改可点击区域活动状态的文本和图标。“Text”字段输入“#f1f23a”“Icon”字段输入“#b0f22c”。 ? 效果出来了,相当漂亮: ?...首先,我们须哟阿点击橙色的“下载主题”按钮转向“构建您的下载”页面。然后,我们导航到浅橙色的面板,选择“主题”和“版本设置”,并单击“下载”以下在一个自定义主题的Zip数据包。...步骤3:将主题添加到Wijmo部件 现在,我们的主题已经下载完成,我们可以把它添加到Wijmo部件上了。我们把它添加到一个wijaccordion上。

    1.1K70

    现代化全栈 Web 开发框架:快速、流畅、有弹性的用户界面 | 开源日报 No.270

    专注于用户界面的构建 利用 Web 基础知识提供快速、流畅和有弹性的用户体验 可部署到任何 Node.js 服务器和非 Node.js 环境的边缘 拥有丰富的文档和活跃的社区支持 danielmiessler...到他们生活的各个方面 提供各种生活和工作活动的模式,如提取 YouTube 视频和播客中最有趣部分、总结学术论文、创建与写作完美匹配的 AI 艺术提示等 使 Patterns 对每个人都可用,并允许共享和派生提示,透明...、可扩展且可靠地方式进行交换 包括三个组成部分:Mill(服务器端)、Patterns(实际 AI 应用场景)以及 Looms(调用 Mill 特定 Pattern 的模块化客户端应用程序) 支持直接引用并编辑单独...Pattern 的 Markdown 格式,并可以 Web 应⽤程序或自己编程中直接使用任何 fabric 内部 pattern 这是一个非常早期版本,目前正在添加更多文档和功能。...使用 Rust、React (Next.js)、TypeScript 等技术构建,并采用 Turborepo 架构。 包括桌面应用和 Web 应用两个版本。 正在积极开发,目前处于公测阶段。

    12410

    为什么说Web开发和Vue.js是如此的有趣?

    当时我有这样一个概念,前端开发者只是使用右脑的附庸风雅的人,并不是“真正的”编程。 但是,我最后一次求职,选择很少。特别是工作面试,我看到了自己是如何失败的。...我获得了一个职位,利用了我SharePoint的经验。我SharePoint的经验并不特别:用GUI、工作流等设计页面这个不是我理想的工作,而是为了生活不得不做的工作。...幸运的是,使用数据库的经验使我能够规范化的方式设计列表,但似乎缺乏用户界面方面的功能。SharePoint设计器,即使修改了底层ASP,某些效果也很难实现。...另外,没有太关注IE9 +使用vue.js,而IE不支持模板。 响应性 事实上,我可以对我们的模型进行更改,它会自动更新页面上的内容,这也是为什么让我觉得angular.js好用的原因。...Denny Headrick是一个Web开发者,他喜欢的工作方式太多。各种顶级平台上进行Vue.js讨论的时候可以看到他,他喜欢偶尔博客一下。你可以跟他推特@dennythecoder。

    2.1K10

    (数据科学学习手札103)Python+Dash快速web应用开发——页面布局篇

    图1   今天的文章,我将带大家学习Dash页面布局的先进方法,通过今天的文章,你将学会非常简单的方式实现现代化的页面布局,下面让我们开始吧~ 2 为Dash应用设计页面布局   我们都知道,一个好的网页设计通常都需要编写...,借助它,我们就可以纯Python编程调用到 bootstrap框架的诸多特性来让我们的web应用页面更美观。   ...首先要了解的是组件Container(),它是我们组织页面元素的容器,其参数fluid默认为False,会两边填充空白区域方式居中其内部嵌套的子元素: app3.py import dash...图9 2.2 Row()与Col()部件的进阶设置   通过上一小节的例子,想必你已经学习到如何在Dash编排出bootstrap网格系统风格的页面,而为了已初步编排好的网页基础上做更多实用优化,dash-bootstrap-components...图11 设置水平对齐方式   在前面的内容,我们同一个Row()部件下组织的所有Col()部件,其顺序都是从左到右一个紧贴下一个排布的,即使设置了offset参数,也只是插空后紧贴。

    2K22

    Python+Dash快速web应用开发——页面布局篇

    今天的文章,我将带大家学习Dash页面布局」的先进方法,通过今天的文章,你将学会非常简单的方式实现现代化的页面布局,下面让我们开始吧~ 2 为Dash应用设计页面布局 我们都知道,一个好的网页设计通常都需要编写...,借助它,我们就可以纯Python编程调用到 bootstrap框架的诸多特性来让我们的web应用页面更美观。...,首先要了解的是组件Container(),它是我们组织页面元素的容器,其参数fluid默认为False,会两边填充空白区域方式居中其内部嵌套的子元素: ❝app3.py ❞ import dash...app6.py ❞ 图9 2.2 Row()与Col()部件的进阶设置 通过上一小节的例子,想必你已经学习到如何在Dash编排出bootstrap网格系统风格的页面,而为了已初步编排好的网页基础上做更多实用优化...但在很多页面布局需求需要对于同一行的多个列元素设置「对齐方式」,这在dash-bootstrap-components可以通过对Row()部件设置参数justify来实现,可选项有'start'、'

    3.1K20

    jbpm5.1介绍(12)

    本教程后面,您将学习如何覆盖默认的GWT的风格。 主网页 打开主机页面,StockWatcher/战争/ StockWatcher.html。 为Web应用程序的代码执行在一个HTML文档。...有两种方法可以使用一个根面板,生成页面的整个身体或嵌入体内产生的特定元素。 根面板包装在HTML宿主页面元素。默认情况下(也就是说,如果你没有宿主页面添加任何占位符)根面板包裹身体的元素。...本节,你会: 实例化每个部件和面板。 创建的表持有的股票数据。 铺陈部件使用添加股票面板和主面板。 副根面板的主要面板。 将光标移动到输入框的焦点。...申报进口报关单同样的方式解决所有其他的错误。如果你不使用Eclipse,剪切和粘贴突出显示的代码。...添加一个按钮,从库存清单删除的股票 使用户可以从列表删除一个特定的股票,表行的最后一个单元格插入一个删除“按钮。要添加一个部件一个细胞FlexTable,调用setWidget的方法。

    6.9K40

    分享 5 个 用于前端的 Python 库

    如果您想添加文档没有的新内容,这将是一个艰巨的挑战。...最后,它通常会更难开发,因为您必须知道如何使用状态和管理基于组件的代码。 3....Trame 提供了一个用于构建反应式、有状态 Web 应用程序的高级框架,它可以本地用作任何桌面应用程序,也可以部署云或本地访问大数据和/或敏感数据。...除此之外,ReactPy 只是一个很好的库,用于编写多页面网站、登陆页面和其他通常使用 HTML/CSS/JS 的内容。...最后,需要一些时间来了解所有小部件和功能如何工作才能使用 PyQt 正确创建应用程序。 结论 我们探索了5个领先的 Python 前端框架,每个框架都有其独特的优势和应用程序。

    57310

    Axure RP 9 中文

    ,易于使用,它能让用户快速创建应用软件或Web网站的线框图、流程图、原型和规格说明文档。...id=NzY4OTU4Jl8mMjcuMTg3LjIyNi4xOTM%3D 图片 Axure RP 9文版下载功能介绍 环境与画布 自定义窗格页面尺寸负区域距离指南切换标尺可见性捏合缩放缩放适合快捷方式中心选择快捷方式动态面板和中继器的内联编辑...Axure上的Google字体的Web字体 选色器 色轮保存的颜色径向渐变建议的颜色 形状 形状绘制工具绘图工具的单键快捷方式从草图粘贴(带插件)双击边框编辑矢量点形状上的背景图像钢笔工具改进形状原型中生成为...动态面板 axure rp 9 mac内联编辑边框角半径外阴影 自适应视图 axure rp 9 mac页面可以有不同的自适应视图页面可以共享自适应视图集原型显示最适合的视图(替换条件) 图书馆 将图像文件夹添加到...“库”窗格库自动刷新双击.rplib加载或编辑库 笔记 一次查看页面上的所有注释为窗口小部件分配多个注释可以取消分配和重新分配注释注释包括窗口小部件文本注释包括窗口小部件交互注释可以按层次结构组织

    1.5K60

    聊一聊友好型表单设计的那些套路(附赠免费素材)

    但无论是哪种使用场景和目的,在线表单大都由以下几种主体部件构成: 标题和标签 - 介绍所要收集的用户信息。 输入字段 - 用户信息填写区域。 占位符 - 解释说明或提示用户填写信息的格式。...当然,具体设计过程,表单的部件往往多而杂,设计师要学会用户需求为导向,适当调整和变通,打造最优的用户体验。  但表单的各个部件究竟该如何选择和组合才能成功提升用户体验呢?...如图,表单过长时,设计师可尝试通过划分不同模块或页面方式,注意添加“下一页”或“返回”等按钮,引导和激励用户填写。 ...所以,表单设计过程,界面空间允许的情况下,添加单选按钮更易于优化用户体验。 ...但在设计过程,适当添加符合使用场景的动画,不仅能够极大分散用户注意,缓解用户的各种负面情绪,增加界面趣味性,还能让用户不知不觉填写完各种表单信息,高效而实用。

    2.5K30

    Flutter基础篇(8)-- Flutter for Web详细介绍

    Flutter团队的目标是把Web与​​iOS和Android一起添加到Flutter SDK的第一层平台。此存储库的代码提供实现(几乎)整个Flutter API的纯Web包。...Flutter为创建丰富的,数据为中心的组件提供了一个强大的环境,可以轻松地现有网页托管。...无论是数据可视化,在线工具如汽车配置器还是嵌入式图表,Flutter都可以为嵌入式Web内容提供高效的开发方法。 3.Flutter移动应用嵌入动态内容。...3.对Progressive Web Apps等技术的开箱即用支持。 4.现有的Flutter CLI和IDE集成下统一Web开发工具。 5.使用DevTools调试Web应用程序。...4.目前只支持Chrome浏览器上调试页面,其他浏览器调试可能会有问题。 5.Flutter for Web部件API与移动小部件API相同,但是是单独临时打包的。

    2.9K10
    领券