Moo*_*oon 7 sharepoint sharepoint-2010 sharepoint-clientobject
出于某种原因,我的SharePoint模式对话框无法正常工作.我得到的错误是这样的:
SP.UI.$create_DialogOptions is not a functionObject doesn't support this property or method这是我的代码:
var options = SP.UI.$create_DialogOptions();
options.width = 525;
options.height = 300;
options.url = '/_layouts/mywork/richtexteditor.aspx';
options.dialogReturnValueCallback = Function.createDelegate(null, function (result, value)
{
alert(result + value);
});
SP.UI.ModalDialog.showModalDialog(options);
Run Code Online (Sandbox Code Playgroud)
有趣的是,当我在Firebug中检查SP.UI时,我没有看到所有的方法和属性.
注意:我使用的是标准Webpart(非可视化),而不是应用程序页面.
小智 16
问题是尚未加载所需的SharePoint JavaScript"库".(SharePoint 2010 JS是一个混乱,命名空间/等等来自全部 - 事情进一步复杂的新"按需"加载).
需要加载以使用SP2010模态对话框界面(包括$create_DialogOptions和showModalDialog)的库是"sp.js".
要确保加载"sp.js":
ExecuteOrDelayUntilScriptLoaded(function () {
// do modal dialog stuff in here (or in another function called from here, etc.)
}, "sp.js")
Run Code Online (Sandbox Code Playgroud)
只有在SP.UI.ModalDialog保证加载"sp.js"(包括东西)之后才会调用回调函数(如果出现加载错误,它可能永远不会被调用).
这也可能与使用来解决<ScriptLink>,以sp.js与OnDemand特定的,但我不能保证这一点:(我认为有可能是这种方法的问题,但我不记得为什么它不在我只是看着在项目中使用.)
<SharePoint:ScriptLink runat="server" Name="sp.js" OnDemand="true" Localizable="false" />
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息/信息,请参阅SPSOD.
快乐的编码.
| 归档时间: |
|
| 查看次数: |
31525 次 |
| 最近记录: |