فئة المحفوظات: جافا سكريبت

HTTP 406 خطأ عند استخدام $http.get الزاوي ضد SharePoint بقية نقاط النهاية

التحديث: وأشار مارك AD نديرسون هذا قطعة كبيرة من المعلومات: http://blogs.office.com/2014/08/13/json-light-support-rest-sharepoint-api-released/. وهذا ما يفسر الكثير :).

قد يكون عنوان بلوق وظيفة أسوأ من أي وقت مضى! Anyhoo.

عادة القيام به كل من بلدي النماذج ضد مثيل O365. لدى بلدي مثيل شخصية حتى أن ليس لدى لأن تشعر بالقلق إزاء التأثير على أي شخص آخر. بوصفها جانبا--تذكر عندما ندعو يجري حول الأجهزة الظاهرية على كمبيوتر محمول لدينا مع موس – SQL Server, IIS, البت مقابل هايبر-V. أم وير? Anyhoo...

وكان البلدان المتقدمة النمو إلى تطبيق استخدام الزاوي في هذه البيئة أن يفعل, أمور أخرى, وهذا:

$http.get(سيرفيرورل)
.النجاح(الدالة(البيانات, مركز, رؤوس, التهيئة) {

var جيتلينكسريسبونسي = البيانات;

getLinksResponse.value.forEach(الدالة(ثيريسولت) {

// وهكذا، وحتى زبد

وهذا كان يعمل على ما يرام في SharePoint على الإنترنت بيئات مختلفة. ومع ذلك, عندما استدار زميلي إلى مثيل كلودشاري, أنه تم الحصول HTTP 406 خطأ (كانت المرة الأولى حصلت من أي وقت مضى أن أحد, حيث.. ياي, أخمن). ونحن لم قليلاً من البحوث، ولاحظت أن رأس "قبول" قبالة. وكان سعيداً تماما مع SharePoint على الإنترنت:

قبول: تطبيق/json

لكن مثيل كلودشاري (وهو س في بريم, واستضافت في ملقم ظاهري) أراد الكلاسيكية "odata = مطول" وأضاف كذلك في:

قبول: تطبيق/json;odata = مطول

لحل هذه المشكلة, وأضاف نحن الرأس على هذا النحو:

التكوين فأر = {رؤوس: {
'قبول': ' التطبيق/json;odata = مطول '
}
};

$http.get(سيرفيرورل,التهيئة)
.النجاح(الدالة(البيانات, مركز, رؤوس, التهيئة) {

var جيتلينكسريسبونسي = البيانات;

getLinksResponse.value.forEach(الدالة(ثيريسولت) {

// وهكذا، وحتى زبد

التي حصلت على التخلص من 406, بل أنه أيضا تغيير تنسيق الاستجابة. أنه كان أكثر.. مطول. (هاها!) تم إدخال مزيد من التغييرات المطلوبة، وهنا هو النتيجة النهائية:

التكوين فأر = {رؤوس: {
'قبول': ' التطبيق/json;odata = مطول '
}
};

$http.get(سيرفيرورل,التهيئة)
.النجاح(الدالة(البيانات, مركز, رؤوس, التهيئة) {

var جيتلينكسريسبونسي = البيانات;

جيتلينكسريسبونسي.d.results.forEach(الدالة(ثيريسولت) {

// وهكذا، وحتى زبد

وهذا فقط تحولت 30 مشكلة دقيقة بالنسبة لنا, لذا نحن حالفه. نأمل شخص ما يجد هذا مفيدة.

</نهاية>

فشل الزاوي Bootstrap في IE9

لقد لعب مع Angular.js لآخر أثناء فترة طويلة والحياة للي, لا يمكن أن احصل على بلدي تطبيقات الزاوي الشروع في IE9.  وجميعها تعمل بشكل جيد في IE11 ولكن فقط سوف تظهر IE9 الأقواس المتعرجة وبت مماثلة.

بحثت حولها، ولم أستطع العثور على أي شخص يشكو من مشكلته.  أنها عملت بشكل جيد في كروم, IE11, ليس فقط من IE9.

وقد خلعت بحقيقة أن وحدة التحكم IE تم إعطائي أخطاء مثل هذا:

SEC7111: تم اختراق الأمن HTTPS بالدقة://ieframe.dll/forbidframing.htm

وكان هذا الخطأ لي التفكير وكان هناك بعض مشكلة تحميل الزاوي أو غيرها من المكتبات التي كنت بحاجة.  كما تبين, وهذا لم يكن قضية.

بدس حول الإنترنت, وأخيراً وجدت أن كنت بحاجة للبحث عن العبارة "bootstrap" وأن بدأ وكأنه ألباس الحذاء كان الفشل.  وفي نهاية المطاف, مشكلتي أنه قد تم تزيين بلدي <html> العلامة مع السمة نغ-التطبيق, كما هو الحال في:

<إتش تي أم ال نغ-التطبيق = "ماتريكساب">

بئر, أن لم تنجح بالنسبة IE9.  وبدلاً من ذلك, أنا ملفوفة كل ما تبقى من إتش تي أم ال في <الهيئة> داخل div والمراجع ماتريكساب بهذه الطريقة.

حل المشكلة.

نأمل أن يوفر هذا شخص بعض الحزن.

</نهاية>

الوعي المتزايد / اعتماد الأطر جافا سكريبت

زميلي, جواد الأنصاري (http://www.bigapplesharepoint.com/team?showExpertName=Javed%20Ansari&rsource=pgblog), كتب قصيرة موجزة بلوق وظيفة في أطر أنه يحب، أو على الأقل قد تم استخدام مع SharePoint: http://www.bigapplesharepoint.com/pages/View-An-Insight.aspx?BlogID=53&rsource=PGBlog).

مسج يبدو أنه قد تم المنتصر في الميدان, إذا جاز التعبير, لسنوات حتى الآن, ولكن البعض الآخر أكثر من جديد وفرز اللقطات التي تقاتل, مثل الزاوي. (سبسيرفيسيس, طبعًا, وقد كان منقذا لحياة لسنوات، وسيظل ذلك أعتقد).

ما هي استخدام الناس? أنها ركزت أكثر على الأدوات في Microsoft (CSOM / جسوم) أو تتحرك أكثر تجاه الزاوي, خروج المغلوب, يعيرها, إلخ?

لدى انحياز متزايد في هذه الأطر غير التابعة ل Microsoft. أعتقد أن الأشياء MSFT أكثر صعوبة وأكثر صعوبة العمل مع, تتطلب تقريبا نفس القدر من منحنى التعلم كالطراز القديم الخادم ديف.

مرحلة ما بعد تعليق هنا أو ما يزيد على SharePoint التفاحة الكبيرة إذا كنت ترغب في مناقشة (التفاحة الكبيرة سيكون لها أكثر من احتمال لمناقشة جيدة).

</نهاية>

التغلب على مشكلة مزعجة مع محددات مواقع المعلومات النسبية في SharePoint سريعة إطلاق

كنت أرغب في إضافة ارتباط إلى شريط التنقل شريط التشغيل السريع في اليوم الآخر وأخبرني SharePoint:

image

إصدار النص النقي الذي:

التأكد من أن عنوان URL صالحاً، ويبدأ بأي حرف صالح (علامة الرقم (#) أو شرطة مائلة للأمام (/)) أو بروتوكول معتمد صالحة (فعلى سبيل المثال, ' http://’, ' https://’, ' ملف://’, ' بروتوكول نقل الملفات://’, ' mailto:’, ' أخبار:’).

"Blech وجدري!"قلت:.

حل لهذا لاستخدام جافا سكريبت للعثور على ارتباط معروفة في شريط التشغيل السريع، وتجاوز السلوك الخاص به.

لاختبار هذا, إضافة ارتباط جديد إلى موقع الاختبار الخاص بك هكذا:

image

لقد استخدمت jQuery. لحل هذه المشكلة, الحصول على بعض جافا سكريبت ومسج على الصفحة باستخدام الأسلوب الخاص بك المفضلة لديك ومع سطر من التعليمات البرمجية مثل هذا:

 

$(الوثيقة).استعداد( الدالة () {

    $("أ:يحتوي على('اختبار استبدال URL')").انقر فوق(الدالة () { تنبيه("انقر فوق تغيير السلوك!"); عودة كاذبة;});

});

وبوب عمك.

ويرى jQuery منتق كل <أ> العلامة يحتوي على "اختبار URL بديل" في اسمها. قد ترغب في بحث-النغمة التي اعتماداً على الارتباط الخاص بك، وهذه.

.Click(الدالة() يتجاوز أيا كان SharePoint قد فعلت عندما ينقر المستخدم. تأكد من لك "عودة كاذبة" أو آخر أنها سوف تفعل الأشياء الخاصة بك وثم محاولة الشيء href جداً, يكاد يكون من المؤكد الذي لا هدفك.

وقد تم ذلك والاختبار في بيئة SharePoint على إنترنت ولكن ينبغي أن تعمل جيدا في 2010 وفي وقت سابق أيضا.

</نهاية>

undefinedالاشتراك في بلادي بلوق.

اتبعني على التغريد في http://www.twitter.com/pagalvin

الرجل الفقير التخزين المؤقت في جافا سكريبت

[ليرة تركية;إصدار الدكتور: استخدام ملفات تعريف الارتباط لتخزين نتائج async المكالمات; تقديم نتائج الماضي async المكالمات فورا وثم التحقق من صحة لهم بعد تحميل الصفحة.]

لقد تم العمل على موقع SharePoint على الإنترانت لعميل تلك الميزات, أمور أخرى, ملاحة ثانوية منمنمة خيارات القائمة التي تتم إدارتها عن طريق قائمة مخصصة قديمة عادية.  والفكرة أن العميل يحصل على التحكم في القائمة موقع "بهم" دون التي تؤثر أو تتأثر الملاحة العالمية التي وضعت من قبل أنه.

(هناك شيء هدامة بشكل لا يصدق حول إضافة سوب الذي يشير إلى ملف HTML الذي يحمل بعض المغلق وشبيبة أساسا تغيير كل شيء تقريبا عن سلوك الموقع... ولكن هذا وظيفة أخرى)

التعليمات البرمجية لهذا بسيطة جداً:

قرحة موضعية هنا أن كل مرة أي شخص عدد مرات تصفح الموقع إحدى الصفحات في الموقع, مستعرض ويب المستخدم هو الوصول إلى الحصول على العناصر من القائمة.  بمجرد اكتمال ديف والتجارب أثبتت أن تكون الأمور مستقرة وإكمال, هذه الدعوة لا لزوم لها أكثر من 99% الوقت منذ القائمة، ونادراً ما يتغير.  كما أنها تؤثر على واجهة مستخدم غريب هو أمر شائع في هذا العالم الجديد الشجاع من فرط أجاكسي مواقع ويب--يجعل الصفحة وفقط ثم يجعل القائمة.  أنها متوترة وتشتيت في رأيي.  ومتقطعة. حتى, التخزين المؤقت. 

تم تعديل المنطق thusly:

  • ابحث عن ملف تعريف ارتباط في المستعرض الذي يحتوي على القائمة حسب آخر قراءته
    • إذا وجدت, جعله فورا.  لا تنتظر حتى انتهاء تحميل الصفحة.  (كنت بحاجة للتأكد من أن يتم وضع استراتيجيا HTML الخاص بك هنا, ولكن ليس من الصعب القيام به).
  • انتظر حتى الانتهاء من تحميل وجعل async الكلمة لتحميل عناصر القائمة من قائمة استخدام بقية أو lists.asmx أو أيا كان الصفحة
  • قارن ما حصلت ضد ملف تعريف الارتباط
    • إذا كان يتطابق, وقف
    • خلاف ذلك, باستخدام jQuery, ملء حفنة بشكل حيوي إذا <لي>الشعبية في <إبري>
  • استخدام CSS للقيام بكافة التنسيقات
  • الربح!

البعض منكم سوف يقول, "يا! هناك لا حقيقية من التخزين المؤقت يحدث هنا منذ كنت تقرأ القائمة على أي حال كل مرة واحدة.”  وكنت على حق--أنا لا إعطاء الخادم أي نوع من كسر.  ولكن نظراً لأن هذه الدعوة هو عدم التزامن ويحدث بعد الصفحة الأولى حمولة HTML يجعل تماما, أنه "يشعر" أكثر استجابة للمستخدم.  القائمة يجعل جميلة بقدر ما يعتمد الصفحة.  وإذا حدث القائمة للتغيير, يخضع المستخدم لإعادة رسم متقطعة من القائمة, لكن هذا مرة واحدة فقط.

وهناك بعض الطرق جعل ذاكرة التخزين المؤقت هذا أكثر فعالية ويساعد الخادم في نفس الوقت:

  • وضعت في قاعدة أن "التخزين المؤقت لملف تعريف الارتباط" صالحة لحد أدنى من 24 ساعات أو بعض الأخرى تحديد إطار زمني. ما دام هناك لا كوكي منتهية الصلاحية, استخدام القائمة لقطة في ملف تعريف الارتباط وابدأ ضرب الخادم.

حسنا.. هذا هو كل ما يأتي إلى الذهن الآن :). 

إذا كان أي شخص لديه أي أفكار ذكية هنا أنا أحب أن أعرف منهم.

وأخيراً – ويمكن استخدام هذا الأسلوب لغيرها من الأشياء.  صفحة هذا العميل يحتوي على عدد من الأمور المبنية على البيانات في صفحات مختلفة, العديد منهم تغيير نسبيا نادراً ما (مثل مرة كل أسبوع أو مرة كل شهر).  إذا كنت تستهدف مجالات محددة من الوظائف, يمكنك إعطاء واجهة مستخدم أكثر استجابة بسحب المحتوى من مخزن ملف تعريف الارتباط المحلي والتقديم مباشرة.  تشعر أنها أسرع للمستخدم حتى لو كنت لا تحفظ الخادم أي دورات.  يمكنك يمكن حفظ دورات الملقم قبل اتخاذ قرار بشأن بعض الشروط والمشغلات إبطال ذاكرة التخزين المؤقت المحلية ملف تعريف الارتباط هذا.  وهذا كل شيء الظرفية والأشياء ارتسي وحقاً أكثر متعة :). 

</نهاية>

undefinedالاشتراك في بلادي بلوق.

اتبعني على التغريد في http://www.twitter.com/pagalvin