kategori Achiv: JavaScript

HTTP 406 Erreur lè w ap itilize angilè $http.get kont SharePoint POZE fini pwen

Ajou: Se Marc Piblisite ndersson ki te atire atansyon sa a gwo moso pyès enfòmasyon sou: http://blogs.Office.com/2014/08/13/json-light-Support-Rest-sharepoint-api-Released/. Sa byen eksplike :).

Sa ka fè pi mal pase tout Tit de pòs blog yon tout tan tout tan! Anyhoo.

Mwen sonje bagay fè tout prototypes m' kont yon bagay O365. Mwen gen bagay pèsonèl mwen konsa, mwen pa gen pou enkyete sou ki afekte okenn lòt moun. Kòm yon a kote-sonje lè nou fè apèl a effectué autour virtuel pou machin avanse ordinateurs nou ak bab PANYÒL-SQL sèvè, IIS, décider vs Hyper-V. VMWare? Anyhoo...

Mwen te devlope yon app itilize angilè anviwònman sa a ki fè sa ki nan, pami lòt bagay, sa a:

$http.get(serverUrl)
.siksè(fonksyon(done, estati, en-têtes, config) {

var getLinksResponse = done;

getLinksResponse.value.forEach(fonksyon(theResult) {

// Et sou Et pour mous

Sa t ap travay jis byen nan de diferan SharePoint online environnements. Sepandan, Lè m' collègue te ports li pou yon bagay Cloudshare, Jezi t' ap yon HTTP 406 erreur (ki te premye fwa a, mwen te gen tout tan tout tan sa a, Se konsa... yay, Mwen panse). Nou te fè yon ti rechèch e te note ke "Aksepte" lento te wete. Sou liy SharePoint li te genyen pafètman kontan ak:

Aksepte: aplikasyon/json

Men bagay cloudshare a (ki se SP sou prem, hébergé nan yon virtuel sèvè) yo te vle a klasik "odata = détaillé" te ajoute nan tou:

Aksepte: aplikasyon/json;odata = détaillé

Pou ka ranje sa, nou te ajoute lento a nan ka konsa:

var config = {en-têtes: {
'Asepte': ' aplikasyon/json;odata = détaillé '
}
};

$http.get(serverUrl,config)
.siksè(fonksyon(done, estati, en-têtes, config) {

var getLinksResponse = done;

getLinksResponse.value.forEach(fonksyon(theResult) {

// Et sou Et pour mous

Sa a debarase de la 406, Men, li te tou chanje fòma repons lan. Li te genyen plis... détaillé. (haha!) Chanjman plis ont mande Et isit la se rezilta final lan a:

var config = {en-têtes: {
'Asepte': ' aplikasyon/json;odata = détaillé '
}
};

$http.get(serverUrl,config)
.siksè(fonksyon(done, estati, en-têtes, config) {

var getLinksResponse = done;

getLinksResponse.d.results.forEach(fonksyon(theResult) {

// Et sou Et pour mous

Sa sèlman fè yo tounen yon 30 ti pwoblèm pou nou, Se konsa nou lucked. Yon moun trouve sa itil.

</fen>

Dabò angilè pou D' nan IE9

Mwen te gen te t' ap jwe ak Angular.js pou dènye tan pandan Et pou sove lavi m, M ta ka pa pran m' angilè applications pou yo lanse nan IE9.  Yo tout travay byen nan IE11 men IE9 ta jis montre accolades Atach pou dan an ak pyès menm jan an.

Mwen fouye toupatou nan alantou Et pa t kapab jwenn yon moun se sou pwoblèm l.  Li te travay byen nan Chrome, IE11, jis pa IE9.

Mwen te debarase pa Lefèt ke konsole IE an t' ap m' erreurs kon sa:

SEC7111: HTTPS sekirite ke pa res://ieframe.dll/forbidframing.htm

Erreur sa a m panse te gen kèk pwoblèm ki téléchargement a angilè ou lòt bibliyotèk sa m te bezwen.  Jan l' gen, sa a pa t ' la question.

Pa se nan internets yo, Mwen finalman te konstate ke m te bezwen pou fè rechèch pou fraz a se te "D'" Et ke li a tankou bootstrapping a te pas.  Nan fen, pwoblèm mwen te genyen pou mwen te dekore m' <html> etikèt ak tout kalite ng-app, menm jan nan:

<html ng-app = "MatrixApp">

byen, ki pa travay pou IE9.  Alaplas de, Mwen te anvlope tout rès la HTML nan a <kò> anndan yon div Et références MatrixApp konsa.

Pwoblèm pou rezoud.

Que sa enregistre yon moun ap plenn kèk.

</fen>

En Sensibilisation / Adopsyon de JavaScript, Cadres

Pèsòn nan travay mwen, La, Javed Ansari (http://www.bigapplesharepoint.com/team?showExpertName=Javed%20Ansari&rsource=pgblog), a yon kout blog rezime pòs sou cadres li renmen ou pou pi piti ki te itilize ak ak SharePoint: http://www.bigapplesharepoint.com/pages/View-An-Insight.aspx?BlogID=53&rsource=PGBlog).

jQuery mete nan ont été victor sou tèren an, Se konsa pou pale, pou sa fè anpil ane, Men, lòt yo, plis nouvo Et images type de ap batay li, tankou angilè. (SPServices, Men wi, ki te yon D' lavi pou ane e pwal kontinye mache pou mwen panse).

Sa ap moun itilize? Sont yo konsantre plis sou outillage Microsoft a (CSOM / JSOM) ou fè plis vers angilè, Masquage, Ember, ets?

Mwen gen yon kwasans paspouki vers sa yo ki pa Microsoft cadres. Mwen panse ke bagay MSFT la konsèy ak konsèy pou travay avèk, mande pwèske tankou anpil nan aprann fè yon koub tankou vye granmoun ak stil sèvè-bò dev.

Afiche yon kòmantè de ici ou Sur nan Gwo pòm SharePoint Si ou vle pou diskite (Gwo pòm ki gen plis probabilité de yon diskisyon byen).

</fen>

Bat enèvan pwoblèm ak fanmi Urls nan anlanse SharePoint rapide

Mwen te vle pou ajoute yon ki lye anlanse rapide navigasyon a lòt jou Et SharePoint te di m:

image

Tèks nan vèsyon de sa se:

Asire ke adrès entènèt la an valab e kòmanse avèk soit yon bon karaktè (yon nimewo siy (#) ou Avant out kouto (/)) ou se yon bon en pwotokòl (pa ekzanp, ' http://’, ' https://’, ' dosye://’, la ftp://’, la mailto:’, ' nouvèl:’).

"Blech Et du!"Mwen te di.

Yon solution pou sa a, se pou sèvi ak JavaScript pou jwenn yon konnen ki lye nan anlanse rapide Et remplacement konpòtman li.

Pou tès sa a, ajoute yon nouvo lyen pou ou kote ki gen tès thusly:

image

Mwen te gen abitid jQuery. Pou rezoud li, gen kèk JavaScript Et jQuery sou paj la ap itilize teknik pi renmen ou, ak yon liy de kòd kon sa:

 

$(dokiman).pare( fonksyon () {

    $("yon:contient('Tès adrès entènèt ranplasman')").Sur(fonksyon () { sou kiviv("Sur chanje konpòtman!"); retounen pa vre;});

});

Et Bob a tonton ou.

La sélection jQuery trouve chak <yon> etikèt ki gen "Ranplasman adrès entènèt tès" nan li yo, non. Ou ka vle jwenn-mizik sa selon ou ki lye ak comme.

A .click(fonksyon() Sur sa SharePoint ta fè lè moun kap itilize li an Sur. Pou pi si ou "retounen nan bay manti" ou autre li ap fè bagay ou e lè sa a eseye href bagay tou, ki se pweske sètènman pa objectif ou.

Sa te fè ak tès nan yon anviwonman online SharePoint men dwe travay byen nan 2010 Et plus twò.

</fen>

undefinedVous pou m' blog.

Swiv mwen sou Twitter nan http://www.twitter.com/pagalvin

Pòv la nan JavaScript

[TL;Doktè vèsyon pipiti de youn: sèvi ak lekòl pou stocker rezilta yo de async apèl; rendu rezilta yo de apèl async sot pase imedyatman Et puis valider yo apwè paj-chay.]

Mwen te gen t ap travay sou sit intranet SharePoint pou kliyan an yon fonctionnalités sa, pami lòt bagay, yon stylisé akote navigasyon ki opsyon kat sont gérés via regilye lis koutim granmoun.  Lide an se kliyan a obtient pou kontwole kat sit "yo" san ki afekte ou global navigasyon ki te mete pou l' te touche.

(se yon bagay très sibvèsif sou yo pandan l ajoute yon CEWP ki points pou yon fichier HTML sa charge kèk CSS Et JS fondamentalement ye prèske tout sou konpòtman sit yon... Men se pou yon lòt pòs)

Kòd la pou pote lestonmak li bèl sa a:

Ici Sur blese a se sa chak fwa yon moun hits yonn nan paj sit la, browser web utilisateur sa rive pou jwenn atik nan lis la.  Yon fwa ke dev nèt sou tout pwen Et pou fè tès ki éprouvée sa ki gen pou rete estab Et nèt sou tout pwen, apèl sa a pa nesesè plis pase 99% nan tan depi kat la raman chanje.  Li genyen tou yon bizarre Sur UI ki komen nan mond new brave sa a de hyper-ajaxy web pozisyon – paj la renders Et se sèlman lè sa fè kat a rendu.  Li instable Et trouble nan vi mwen.  Et instable. Se konsa, la. 

Mwen modifye lojik a thusly:

  • Chèche pou yon bonbon nan browser ki genyen kat la, menm jan mwen dènye li li
    • Si te jwenn, rendu li imedyatman.  Pa tann pou paj pou m fini chaje.  (Ou bezwen pou asire w ou HTML èstratejikman mete isit la, Men li pa di pou fèt).
  • Paj pou fini chaje ak fè yon async ki te rele pou chaje moute kat atik nan yon lis ki te itilize RÈS ou lists.asmx ou tou sa se pou tann
  • Konpare sa mwen gen kont bonbon a
    • Si l' alimè, Rete
    • San sa, w ap itilize jQuery, dynamique peple Ann, si <li>la nan yon <ul>
  • Sèvi ak CSS pou yo fè tout la mise
  • Avantaj!

Anpil nan nou ap vin di, "alo! se pa vrèman en kap pase isit la depi lè ou ap lecture kat sa a? chak fwa moun ki pa marye.”  Ou gen rezon – mwen pral pa bay sèvè a nenpòt kalite saut.  Men, paske apèl se async Et rive aprè paj la an premye HTML chaj entièrement renders, "santi l" plis aux pou moun kap itilize li an.  Kat la renders très kantite paj enspirasyon.  Si kat a rive pou chanje a, moun kap itilize li an soumis pou yon instable re-trase de kat la, Men se sèlman sa yon sèl fwa.

Genyen kèk fason pou fè sa a la pi efikas kont e ede sèvè la an menm tan:

  • Mete yo nan yon regleman sa a "bonbon cache" valab pou yon minimòm 24 Lè ou gen kèk lòt délai. Osi lontan ke pa gen okenn a bonbon, sèvi ak kat snapshot bonbon a Et la sèvè a te fwape pa janm.

Pi rekòt kafe/zaboka ki se tout sa ki vin chonje m kounye a :). 

Si yon moun gen okenn lide pran pòz isit la mwen ta renmen konnen yo.

Et, enfin-teknik sa ka sèvi pou lòt bagay.  Paj kliyan sa a gen yon bann bagay pa par done sou plizyè paj, anpil nan yo chanje relativement raman (tankou yon fwa pa semèn ou yon fwa pa mwa).  Si ou cible espesifik zòn de fonctionnalités, ou kapab bay yon plis aux UI en contenu de bonbon lokal nan magazen an ak rendu imedyatman.  Ou santi l lwa pou moun kap itilize li an menm si w ap pa enregistrement sèvè a cycles tout.  ou kapab mete sou kote cycles sèvè yo pa deside sou kèk kondisyon Et déclenche pou annuler kache bonbon lokal sa a.  La tout bagay artsy Et vrèman ki amizan :). 

</fen>

undefinedVous pou m' blog.

Swiv mwen sou Twitter nan http://www.twitter.com/pagalvin