Blog鏈接:https://blog.51cto.com/13969817
創(chuàng)新互聯(lián)公司是一家專業(yè)提供左貢企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、H5開發(fā)、小程序制作等業(yè)務(wù)。10年已為左貢眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計(jì)公司優(yōu)惠進(jìn)行中。
Webpart基本上是每個(gè)Portal項(xiàng)目中必不可少的,但是對(duì)于SharePoint Online中開發(fā)webpart并不是很隨意,已經(jīng)不能像On-Permise環(huán)境中可以隨意開發(fā)visual webpart了,我們需要根據(jù)具體的功能進(jìn)行具體的分析。
'use strict';
?
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());
為了提高效率,首先我們需要分析某個(gè)區(qū)域的信息顯示能否通過SharePoint的OOB的Webpart來實(shí)現(xiàn),而不是需要每個(gè)Webpart都要自己開發(fā)。如果確實(shí)OOB的Webpart無法實(shí)現(xiàn),我們?cè)诳紤]使用App Part來實(shí)現(xiàn)。
對(duì)于app part上面中需要的js和css盡量使用cdn的方式引入,因?yàn)槿绻粋€(gè)app包中包含多個(gè)app part并且在同一個(gè)頁面上添加這些app part,會(huì)導(dǎo)致請(qǐng)求過多有些app site中css和js無法加載。使用CDN的方式能減少部分請(qǐng)求,也可以避免部分這樣的問題。
為了避免多個(gè)App Part使用一個(gè)App Site,如果同一頁面放了很多這樣的app part會(huì)導(dǎo)致對(duì)這個(gè)app site的請(qǐng)求資源過多,帶來意想不到的問題,最好每個(gè)app part單獨(dú)開發(fā)一個(gè)app.
盡量減少請(qǐng)求次數(shù),對(duì)于不必須要的請(qǐng)求我們可以通過App part的屬性來替代,例如:一個(gè)完整功能的app part內(nèi)部可能需要點(diǎn)擊item跳轉(zhuǎn)到view item頁面,那么這個(gè)URL可以通過屬性來配置,而不是通過REST API單獨(dú)請(qǐng)求一次。
比如SharePoint Host的App Part 借助SharePoint REST API 或者JSOM來獲取數(shù)據(jù),并且畫出我們想要的效果,但是這種方式我們過于依賴于SharePoint站點(diǎn),也就是我們需要用到的css和js都在SharePoint站點(diǎn)中存在,如果我們把這個(gè)Webpart移植到另一個(gè)站點(diǎn)中,這個(gè)站點(diǎn)也必須部署相應(yīng)的js和css文件,依賴性比較強(qiáng)。這里我們要求使用SharePoint Host App的app part來代替,因?yàn)閍pp part實(shí)際上是一個(gè)Iframe,我們開發(fā)的App part 中使用到的js和css都是獨(dú)立存在app site中的,這樣便于移植。
希望本文總結(jié)對(duì)大家日后開發(fā)有所幫助。
本文題目:SharePointOnline開發(fā)篇:AppPart
本文地址:http://jinyejixie.com/article26/gdpdjg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、手機(jī)網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、、搜索引擎優(yōu)化、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)