我为SharePoint 2013创建了一个示例应用程序,并成功地部署了它。当启动应用程序时,我得到以下每一行代码调用RegisterSod
的错误Message: 'RegisterSod' is undefined
Line: 14
Char: 1
Code: 0
<script type="text/javascript">RegisterSod("initstrings.js", "u002f_layoutsu002f15u002f1033u002finitstrings.js?rev=uNmvBiHdrBzcPQzXRpmu00252FnQu00253Du00253D");</script>
<script type="text/javascript">RegisterSod("strings.js", "u002f_layoutsu002f15u002f1033u002fstrings.js?rev=cSu1pcWiRc999fyCNzJplgu00253Du00253D");RegisterSodDep("strings.js", "initstrings.js");</script>
有办法解决这个问题吗?
我知道这是旧的,但我希望这将帮助别人有这个问题:
这个问题很可能是由于在SharePoint服务器中没有根站点造成的。
通过进入Central Administration ->Create site collection创建根站点集合,在选择Web site Address时确保使用'/'作为站点地址,这意味着这将是根站点。
我在这里写了一篇关于这个错误的博文
希望有帮助!
此脚本使用jQuery中的getScript函数加载SP.Runtime.js和SP.js文件。下载文件后,您的应用程序可以访问SharePoint的JavaScript对象模型,包括函数RegisterSod.
请将此脚本添加到页面
<>之前美元(文档)。Ready (function () {//获取URI解码后的url。hostweburl = decodeuriccomponent (getQueryStringParameter("SPHostUrl"));//js文件的URL形式如下://web_url/_layouts/15/resource_fileVar scriptbase = hostweburl + "/_layouts/15/";//加载js文件并继续//执行execOperation函数。美元。getScript(scriptbase +"MicrosoftAjax.js")函数(){美元。getScript(scriptbase + "SP.Runtime.js")函数(){美元。getScript(scriptbase + "SP.js", initContext);});});});