我只是想证明在SharePoint托管的应用程序页面中显示模式对话框的概念。我相信我已经包含了必需的js库,并且在执行我的函数之前,我给了它足够的时间来加载这些库。我收到的错误是:
无法读取未定义的属性“ hiddenButtonValueBeforeDialog”
我相信我有需要的图书馆:
<script type="text/javascript" src="/_layouts/15/init.js"></script>
<script type="text/javascript" src="/_layouts/15/sp.runtime.js"></script>
<script type="text/javascript" src="/_layouts/15/sp.js"></script>
<script type="text/javascript" src="/_layouts/15/SP.UserProfiles.js"></script>
<script type="text/javascript" src="/_layouts/15/sp.core.js"></script>
<script type="text/javascript" src="/_layouts/15/sp.ui.dialog.js"></script>
Javascript:
function showDialog() {
var optDict = {
width: 800,
height: 500,
url: 'http://www.google.com',
title: "Upload your file"
};
try {
SP.UI.ModalDialog.showModalDialog(optDict);
}
catch (err) {
alert(err.message);
}
return false;
}
Cannot read property 'hiddenButtonValueBeforeDialog' of undefined
发生错误是因为sp.ui.dialog.js是全球化的JavaScript库,并且SP.Res.resx
尚未在客户端上加载所需的资源文件(SP.Res.hiddenButtonValueBeforeDialog
由该文件生成)。
ScriptResx
HTTP处理程序用于在客户端加载资源文件的内容,必须添加以下行:
<script type="text/javascript" src="/_layouts/15/ScriptResx.ashx?name=sp.res&culture=en-us"></script>
另外,由于库中的SP.UI.UIUtility
名称空间存在依赖性sp.ui.dialog.js
,因此sp.init.js
必须引用JavaScript库:
<script type="text/javascript" src="/_layouts/15/sp.init.js"></script>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句