如何在不破坏页面的情况下在 SharePoint 2010 中显示一个简单的对话框?
How to display a simple dialog in SharePoint 2010 without breaking the page?
我今天为此工作了几个小时,但一无所获。希望有人可以介入并请提供帮助。
我只想在弹出对话框中显示一条简单的消息,告诉用户 SharePoint 2010 网站即将发生的一些变化。没想到这么难!
我通过 Google 搜索找到了十几个链接,但没有任何帮助。
唯一可行的是我放入内容编辑器 Web 部件中的代码:
<script type="text/javascript">
function codeAddress() {
alert('ok');
var options = {
Title: "Survey",
height: 500
};
_spBodyOnLoadFunctionNames.push("codeAddress");
}
window.onload = codeAddress;
</script>
但是,这段代码的问题是在我点击确定之后,页面表现异常。页面的java脚本不起作用,连编辑页面都搞砸了,直到我用代码删除了webpart。
我怀疑问题与此有关:
_spBodyOnLoadFunctionNames.push
但是,如果我将其删除,则弹出窗口将不起作用。
如果不清楚,我的目标是显示任何类型的对话框,我可以在其中键入一两句话来告诉用户一些事情。然后他们可以单击“确定”并将完全控制权交还给该页面。
请大家帮忙!
对 Google 感到羞耻,因为它没有直接将您带到 SP.UI.Modal.Dialog.showModalDialog()。
<script>
ExecuteOrDelayUntilScriptLoaded(showDialog,"sp.js");
function showDialog(){
var options = SP.UI.$create_DialogOptions();
options.title = "My Amazing Dialog Box";
// create a dummy HTML element for the body of your dialog box
var div = document.createElement("div");
div.appendChild(document.createTextNode("Some text inside my dialog box."));
options.html = div;
SP.UI.ModalDialog.showModalDialog(options);
}
</script>
如果您想将其放入内容编辑器 Web 部件中:
- 将以上代码保存到文本文件中
- 将该文本文件上传到您网站上的文档库
- 将内容编辑器 Web 部件添加到您希望对话框出现的页面
- 编辑 Web 部件,打开屏幕一侧的 Web 部件属性面板
- 将您上传的文本文件的 URL 粘贴到 "Content Link" 属性
此方法可防止 SharePoint 从内容编辑器 Web 部件中删除您的 JavaScript,并允许您在多个页面上使用相同的脚本。
我今天为此工作了几个小时,但一无所获。希望有人可以介入并请提供帮助。
我只想在弹出对话框中显示一条简单的消息,告诉用户 SharePoint 2010 网站即将发生的一些变化。没想到这么难!
我通过 Google 搜索找到了十几个链接,但没有任何帮助。
唯一可行的是我放入内容编辑器 Web 部件中的代码:
<script type="text/javascript">
function codeAddress() {
alert('ok');
var options = {
Title: "Survey",
height: 500
};
_spBodyOnLoadFunctionNames.push("codeAddress");
}
window.onload = codeAddress;
</script>
但是,这段代码的问题是在我点击确定之后,页面表现异常。页面的java脚本不起作用,连编辑页面都搞砸了,直到我用代码删除了webpart。
我怀疑问题与此有关:
_spBodyOnLoadFunctionNames.push
但是,如果我将其删除,则弹出窗口将不起作用。
如果不清楚,我的目标是显示任何类型的对话框,我可以在其中键入一两句话来告诉用户一些事情。然后他们可以单击“确定”并将完全控制权交还给该页面。
请大家帮忙!
对 Google 感到羞耻,因为它没有直接将您带到 SP.UI.Modal.Dialog.showModalDialog()。
<script>
ExecuteOrDelayUntilScriptLoaded(showDialog,"sp.js");
function showDialog(){
var options = SP.UI.$create_DialogOptions();
options.title = "My Amazing Dialog Box";
// create a dummy HTML element for the body of your dialog box
var div = document.createElement("div");
div.appendChild(document.createTextNode("Some text inside my dialog box."));
options.html = div;
SP.UI.ModalDialog.showModalDialog(options);
}
</script>
如果您想将其放入内容编辑器 Web 部件中:
- 将以上代码保存到文本文件中
- 将该文本文件上传到您网站上的文档库
- 将内容编辑器 Web 部件添加到您希望对话框出现的页面
- 编辑 Web 部件,打开屏幕一侧的 Web 部件属性面板
- 将您上传的文本文件的 URL 粘贴到 "Content Link" 属性
此方法可防止 SharePoint 从内容编辑器 Web 部件中删除您的 JavaScript,并允许您在多个页面上使用相同的脚本。