javascript - 在 Sharepoint 2013 中以编程方式编辑和以编程方式保存已编辑的 Wiki 页面

标签 javascript html sharepoint-2013 wiki persistent-storage

我通过嵌入代码在 Sharepoint 2013 wiki 页面中插入了 javascript 代码。

基本的javascript代码将行追加到表格中,代码是

var myTable= document.getElementById('myTable');
myTable.innerHTML += myRecord;

变量 myRecord 包含要附加的行的 html 代码,该 html 代码类似于

<tr><td>my cell</td><td>my cell 2</td></tr>

代码按预期工作并将行附加到表“myTable”。

但是当我点击刷新重新加载 SharePoint 2013 wiki 页面时,通过 JavaScript 以编程方式添加的所有行都消失了

请建议如何动态添加 HTML 内容并使其持久化,以便动态 HTML 内容不会在页面重新加载时消失。我知道我可以将其保存在本地存储中并检索它或尝试 cookie 或 session ,但它不可行,因为该表将有几千条记录或更多。

所以我只是想确保通过 JavaScript 对 Sharepoint 2013 wikipage 的 HTML 代码所做的任何更改都保持保存或持久。

我找到的一些引用资料如下,但由于我是 sharepoint 的新手,我无法清楚地理解,详细的分步说明会很好

Programmatically editing Sharepoint Wiki content

https://sharepoint.stackexchange.com/questions/69633/is-it-possible-to-programmatically-add-page-items-to-enterprise-wiki-using-csom

https://habaneroconsulting.com/insights/programmatically-change-content-on-a-wiki-page-in-sharepoint-2010#.VcF81v_JAuQ

能够使用 CoreInvoke('PageActionClick', this) 复制保存按钮,但保存按钮默认功能在保存和编辑之间切换,我只需要保存功能。

我在网上找到的一些更好的引用

http://sharepointace.blogspot.com/2013/05/add-custom-buttons-to-edit-or-save.html https://sharepoint.stackexchange.com/questions/88456/assign-edit-fuctionality-to-a-custom-button

最佳答案

免责声明:我没有使用过 Sharepoint,但我会尽力提供帮助。

要解决这个问题,有必要了解一点浏览器的运行原理。每次重新加载页面时,浏览器都会从服务器请求当前导航到的 URL。然后服务器返回一个由浏览器呈现的 HTML 文档。

您正确地将 HTML 附加到表格中。不幸的是,您所做的每项更改仅存在于浏览器的缩影中。每次重新加载页面时,都会从服务器返回新的 HTML,其中显然不包含您的更改。

在页面重新加载之间保留数据的唯一方法是让服务器镜像您的数据。为此,您需要以某种方式将数据提交到服务器,使用的机制与 Sharepoint 自己的 web 应用程序将数据提交到其服务器的机制相同。或者,您可以仅缓存浏览器中的本地更改,并在访问其页面时用它们填充所需表。我将把这个挑战留给读者。

关于javascript - 在 Sharepoint 2013 中以编程方式编辑和以编程方式保存已编辑的 Wiki 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31822645/

相关文章:

javascript - 对复选框执行操作

sharepoint - 列表标题更改名称?怎么改回来?

javascript - 像在 zendesk.com 上那样创建 "floating"顶部导航?

javascript - 谷歌地图 API 无法正常工作

javascript - 如何溢出文本而不是在元素中换行?

Javascript计算器不按后退键按钮进行减法

javascript - React Routing 在本地机器上工作,但在 Heroku 上不工作

javascript - 当里面有另一个div时,如何获取一级div的文本内容?

c# - 如何使用 c#.net 在电子邮件中将 Html 输入文件值作为附件发送

visual-studio - 缺少 “Deploy” - 按钮 Visual Studio 2012