Provider Hosted App中使用JOM问题
在使用SharePoint 2013的JOM时,出现以下问题:
ReferenceError: SP is not defined
经反复试验和搜索,得出以下两种方式:
一、直接引用JS文件,引用顺序很重要:
<script type="text/javascript" src="https://nn.sharepoint.com/teams/ap1/gct/_layouts/15/MicrosoftAjax.js"></script>
<script type="text/javascript" src="https://nn.sharepoint.com/teams/ap1/gct/_layouts/15/SP.Runtime.js"></script>
<script type="text/javascript" src="https://nn.sharepoint.com/teams/ap1/gct/_layouts/15/SP.js"></script>
<script type="text/javascript" src="https://nn.sharepoint.com/teams/ap1/gct/_layouts/15/SP.RequestExecutor.js"></script> <script src="https://nn.sharepoint.com/teams/ap1/gct/SiteAssets/jquery-1.9.1.js"></script> <script type="text/javascript">
var hostweburl ="https://nn.sharepoint.com/teams/ap1/gct"; $(document).ready(function () {
var scriptbase = hostweburl + "/_layouts/15/";
//ExecuteOrDelayUntilScriptLoaded(initializePage, "sp.js");
initializePage();
}); function initializePage()
{
var context = SP.ClientContext.get_current();
var user = context.get_web().get_currentUser(); // This code runs when the DOM is ready and creates a context object which is needed to use the SharePoint object model
$(document).ready(function () {
getUserName();
}); // This function prepares, loads, and then executes a SharePoint query to get the current users information
function getUserName() {
context.load(user);
context.executeQueryAsync(onGetUserNameSuccess, onGetUserNameFail);
} // This function is executed if the above call is successful
// It replaces the contents of the 'message' element with the user name
function onGetUserNameSuccess() {
$('#message').text('Hello ' + user.get_title());
} // This function is executed if the above call fails
function onGetUserNameFail(sender, args) {
alert('Failed to get user name. Error:' + args.get_message());
}
}
二、使用Jquery 的$.getScript 方法
<script type="text/javascript">
var hostweburl ="https://nike.sharepoint.com/teams/ap1/gctech"; $(document).ready(function () {
var scriptbase = hostweburl + "/_layouts/15/";
var scriptBase = hostweburl + "/_layouts/15/";
$.getScript(scriptBase + "MicrosoftAjax.js").then(function (data) {
return $.getScript(scriptbase + "SP.Runtime.js");
}).then(function (data) {
return $.getScript(scriptbase + "SP.js");
}).then(function (data) {
$.getScript(scriptBase + "SP.RequestExecutor.js");
}).then(function (data) {
alert("Load as order");
/*
var ctx = new SP.ClientContext(appWebUrl),
factory = new SP.ProxyWebRequestExecutorFactory(appWebUrl),
web; ctx.set_webRequestExecutorFactory(factory);
web = ctx.get_web();
ctx.load(web);
ctx.executeQueryAsync(function() {
// log the name of the app web to the console
console.log(web.get_title());
}, function(sender, args) {
console.log("Error : " + args.get_message());
});
*/
});
</script>
Provider Hosted App中使用JOM问题的更多相关文章
- 在iOS APP中使用H5显示百度地图时如何支持HTTPS?
现象: 公司正在开发一个iOSAPP,使用h5显示百度地图,但是发现同样的H5页面,在安卓可以显示出来,在iOS中就显示不出来. 原因分析: 但是现在iOS开发中,苹果已经要求在APP中的所有对外连接 ...
- 分享 Ionic 开发 Hybrid App 中遇到的问题以及后期发布 iOS/Android 的方方面面
此篇文章主要整理了最近在使用 Ionic 开发 Hybrid App 过程中遇到的一些疑难点以及后期发布生成 iOS 和 Android 版本过程中的种种问题. 文章目录 Ionic 简介和项目需求介 ...
- 【iOS开发】在 App 中加入 AdMob 广告 - 入门介绍与编程技巧
前言 虽然在App中加入广告来盈利是比较低级的商业化方式,但对于个人开发者或者小团队开发者来说,做出一个简单易用的免费小工具(举个栗子),在里面加入一些广告,如果用的人多,也是可以带来一些可观的收入的 ...
- 我刚知道的WAP app中meta的属性
之前我一直做的都是WEB前端开发,来北京以后面试了一个移动前端开发,WAP前端开发. 其实在原来公司的时候也做过这方面的开发,可面试的时候面试官问我,要想强制让文档与设备的宽度保持1:1,mate标签 ...
- 在app中打开appStore中其他app
var str = "https://itunes.apple.com/cn/app/zhang-jiange-hao-tou-zi-ke/id402382976?mt=8"//这 ...
- 在 C# App 中嵌入 Chrome 浏览器使用 CefSharp
介绍 以前曾试过在app中整合一个可靠又快速的web浏览器吗? 在本文中,你会学到如何轻松地将奇妙的CefSharp网页浏览器组件(基于Chromium)集成到你的C# app中. 然后,你可以使用此 ...
- 仿各种APP将文章DOM转JSON并在APP中以列表显示(android、ios、php已开源)
背景 一直以来都想实现类似新闻客户端.鲜城等文章型app的正文显示,即在web editor下编辑后存为json,在app中解析json并显示正文. 网上搜过,没找到轮子.都是给的思路,然后告知是公司 ...
- 我刚知道的WAP app中meta的属性(转载)
之前我一直做的都是WEB前端开发,来北京以后面试了一个移动前端开发,WAP前端开发. 其实在原来公司的时候也做过这方面的开发,可面试的时候面试官问我,要想强制让文档与设备的宽度保持1:1,mate标签 ...
- 解决“iOS 7 app自动更新,无法在app中向用户展示更新内容”问题
转自cocoachina iOS 7能在后台自动app,这对开发者来说和用户都很方便,但是还是有一些缺点.用户不会知道app本次更新的内容,除非他们上到app的App Store页面去查看.开发者也会 ...
随机推荐
- 使用 CSS3 动画实现的 3D 图片过渡特效
这是一个基于 CSS3 动画实现的图片过渡效果,共有 Flip.Rotation.Multi-flip.Cube.Unfold 等6种效果,它们将证明 CSS3 Transform 和 Transit ...
- 使用 CSS3 动感的图片标题动画效果【附源码下载】
在网站中,有很多地方会需要在图片上显示图片标题.使用 CSS3 过渡和变换可以实现动感的鼠标悬停显示效果.没有使用 JavaScript,所以只能在支持 CSS3 动画的现代浏览器中才能正常工作.您可 ...
- H5新特性websocket
websocket也是html5的新增加内容之一,号称是下一代客户端/服务器异步通信办法,私以为虽然有点吹牛的成分,但是以后说不定能成为异步通信的半壁江山,至于取代ajax,我觉的应该不会. webs ...
- Android Studio添加PNG图片报错原因
今天在网上看到一个关于Splash Activity的Android帖子,博主在一通讲解之后也给出了代码.于是果断下载下来了看看怎么实现的.一步步照着流程把这个功能实现了一遍.一切都没有大问题,但是在 ...
- 基于git的源代码管理模型——git flow
基于git的源代码管理模型--git flow A successful Git branching model
- C#基础04
介绍:泛型介绍,索引,Foreach遍历的解释,yield方法,path文件操作,Directory类基本操作<目录> 一:泛型 百度资料:泛型是 2.0 版 C# 语言和公共语言运行 ...
- JQuery02
一:JQuery知识点 *:JQuery的dom操作 *:动态创建dom节点 比如动态创建表格等,在js里面进行完成. *删除节点 这里面的删除就是将其放在了一个地方,并不是真的删除,之后可以使用. ...
- IN31志愿者“孝行天下,感恩父母”晚会
IN31是一群志愿者,为社会倾力奉献与引发爱的公益组织.成功举办第一场孝行天下的大型公益活动
- CSS的Display属性可能的值
none 此元素不会被显示. block 此元素将显示为块级元素,此元素前后会带有换行符. inline 默认.此元素会被显示为内联元素,元素前后没有换行符. inline-block 行内块元素.( ...
- 清除Windows的DNS缓存
最近ESET杀毒软件老是提示受到DNS缓存攻击,然后就不能打开网页,或者打开得很慢.这是由于缓存的DNS被更改,访问的是错误的IP地址造成的. 解决的办法就是清除DNS缓存,打开DOS命令窗口,先后输 ...