أرشيفات الإشارات: jQuery

عينات XSLT و jQuery

وقد دأبت كثير من XSLT و jQuery والفكر أن نصيب القصاصات قليلة أن آخرين قد تجد من المفيد في المستقبل.

مثال 1: تنبعث منها جافا سكريبت بسيط / jQuery في XSLT:

<xsl:مطابقة قالب = "شيئا" xml:المساحة = "الحفاظ على">

  <!– فارغة من الاستعلام الودية بتصفية الحقل المخفي –>
  <برنامج نصي النوع = "نص/جافا سكريبت">
    $(الوثيقة).استعداد(الدالة(){
      $("#QueryFriendlyFilters").فال("فارغة");
    });
  </البرنامج النصي>

</xsl:قالب>

أن البت تنبعث بعض جافا سكريبت أن ينتظر حتى انتهاء تحميل الصفحة (سبب $(الوثيقة).استعداد(…)) وثم مجموعات القيمة من حقل مخفي يسمى قويريفريندليفيلتيرس إلى قيمة حرفية "فارغ".

مثال 2: استخدام <xsl:إذا كان> للتحقق من "أكبر من",  "أقل", إلخ.

<xsl:مطابقة قالب = "شيئا" xml:المساحة = "الحفاظ على">

  <div معرف = "فدكالفيلتيرس">
 
    <xsl:إذا test="@Count>0">
      <تمتد إلى الطبقة = "فدكفيلتيرلابيل">عوامل التصفية الحالية:</تمتد>
    </xsl:إذا كان>

    <!– المزيد من الأشياء يحدث هنا. –>

</xsl:قالب>

القصاصة أعلاه التدقيق لمعرفة ما إذا كان سمة المسمى "الاعتماد" العنصر "شيء" أكبر من الصفر.  XML وراء هذا سيكون شيئا مثل:”

<عد شيء = "5"/>

مثال 3: Iterate خلال جميع العناصر, لاجتناب المكالمات jQuery.

<!– Iterate خلال كافة عوامل التصفية وعرض الصحيحة  ارتباطات. –>
<xsl:= حدد لكل "أوسيرفيلتير">

  <فئة = "فيلتيرهريف" href = "جافا سكريبت:ميسوبميتباجي('ريموفيوسيرفيلتير','{@ معرف}’)">[X]</أ>

  <تمتد إلى الطبقة = "فدكفيلتيرلابيل"><xsl:القيمة من select="@FilterValue"/></تمتد>

  <برنامج نصي النوع = "نص/جافا سكريبت">

    $(الوثيقة).استعداد(الدالة(){
        <xsl:النص><![CDATA[$("#QueryFriendlyFilters").فال( ($("#QueryFriendlyFilters").فال() + " ]]></xsl:النص>\"<xsl:القيمة من select="@FilterValue"/>\"<xsl:النص><![CDATA["));]]></xsl:النص>
    });

  </البرنامج النصي>

</xsl:لكل>

القصاصة أعلاه هي الأكثر تعقيداً وقد تكون هناك طرق أسهل للقيام بذلك.

XML وراء هذا يشبه تقريبا هذا:

<معرف أوسيرفيلتير = فيلتيرفالوي "123" = "xyzzy"/>

هذا مقتطف من التكرار عن طريق <أوسيرفيلتير> العقد. 

أنها تنبعث أولاً ارتساء الوسم الذي عند النقر فوق استدعاء دالة JavaScript موجود بالفعل على الصفحة, "ميسوبميتباجي" وتمرير قيمة السمة <أوسيرفيلتير> العقدة المسماة "معرف". 

ثم أنها تنبعث بعض jQuery التي ينتظرها للصفحة لتحميل.  JQuery أن يقوم بتحديث حقل مخفي يسمى "قويريفريندليفيلتيرس" بإضافة قيمة السمة فيلتيرفالوي.  ملاحظة جميع الجنون <xsl:النص> و <![CDATA[ … ]]> الأشياء.

هذا كل شيء, نأمل أن يساعد!

</نهاية>

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

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

Lists.asmx, جيتليستيتيمس والمجلدات

كنت تفعل بعض البحوث لشخص اليوم حول خدمة ويب list.asmx وقدمت كجزء من SharePoint 2010 (وقبل ذلك).  وقالت أنها كانت قادرة على الحصول على قائمة العناصر الموجودة في المجلد الجذر (بما في ذلك أسماء المجلدات الفرعية), ولكن لم أستطع الحصول على العناصر الموجودة في المجلدات الفرعية.  فعلت بعض حولهم على الإنترنت وأنها ليست مسألة مشتركة مما يثير الدهشة.  بعد, لم أستطع الحصول على رد جيد على سؤال بسيط, "لو أعرف المجلد, كيف يمكنني الحصول على العناصر في مجلد?”  أن نكون صادقين, لم يحاول كل ما جد منذ كنت أريد أن الرقم هذا أحد الخروج بمفردي لفترة من الوقت ابتسامة.

لإعداد هذا, قمت بإنشاء موقع المسمى "سيناريوهات المدونات" وقائمة مخصصة المسماة "قائمة مخصصة مع المجلدات الفرعية".  ثم أنشئت المجلدات المسماة:

  • السنة 2005
  • السنة 2006
  • السنة 2007

أضفت بعض العناصر إلى المجلد "العام 2006".  وهذا ما يبدو:

image

صديقي ليس كتابة التعليمات البرمجية C# ولكن بدلاً من ذلك باستخدام Java, هكذا كان مغلف SOAP ما أنها في حاجة حقا.  للحصول على ذلك, كتب قليلاً من jQuery، وثم استخدم fiddler للحصول على محادثة HTTP الفعلية.

هنا هو jQuery ذات الصلة (نسخ التعليمة البرمجية إلى الأسفل أدناه إذا كنت تريد نسخ/لصق):

image

أنها المفتاح الأول أن تشمل كلا <كويريوبشنز> و <كويريوبشنز> العقدة.  المفتاح الثاني أن <المجلد> العقدة هو عنوان URL الذي يملك العميل حق الوصول.

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

هنا هو مغلف SOAP المذكورة أعلاه:

<سوابينف:Xmlns المغلف:سوابينف =’http://schemas.xmlsoap.org/soap/envelope/’>                
  <سوابينف:الهيئة>
    <Xmlns جيتليستيتيمس =’
http://schemas.microsoft.com/sharepoint/soap/’>
      <listName>قائمة مخصصة مع المجلدات الفرعية</listName>
      <فيوفيلدس>  
        <فيوفيلدس>
          <اسم فيلدريف = ' العنوان’ />
          <اسم فيلدريف = ' انكوديدابسورل’ />
        </فيوفيلدس>
      </فيوفيلدس>
      <كويريوبشنز>
        <كويريوبشنز>
          <المجلد>
http://demoserver1/المدونات قائمة السيناريوهات/قوائم/مخصص مع الفرعي مجلدات/عام 2006</المجلد>
        </كويريوبشنز>
      </كويريوبشنز>
   
</جيتليستيتيمس>
  </سوابينف:الهيئة>
</سوابينف:مغلف>

كثير من الأمثلة والمناقشة حول هذا قادني إلى الاعتقاد بأن كل ما أحتاج <كويريوبشنز> وحدد اسم مجلد.  بالنسبة لي, أنا بحاجة إلى كل الانتهاء من ذلك داخل <كويريوبشنز> فضلا عن تحديد عنوان URL مؤهل بشكل كامل <المجلد> عقده.

وإليك الإعداد أياكس jQuery:

$(الوثيقة).استعداد(الدالة() {
       فأر سوابينف =
           "<سوابينف:Xmlns المغلف:سوابينف =’http://schemas.xmlsoap.org/soap/envelope/’> \
               <سوابينف:الهيئة> \
                    <Xmlns جيتليستيتيمس =’http://schemas.microsoft.com/sharepoint/soap/’> \
                       <listName>قائمة مخصصة مع المجلدات الفرعية</listName> \
                       <فيوفيلدس> \
                           <فيوفيلدس> \
                              <اسم فيلدريف = ' العنوان’ /> \
                              <اسم فيلدريف = ' انكوديدابسورل’ /> \
                          </فيوفيلدس> \
                       </فيوفيلدس> \
                       <كويريوبشنز> \
                         <كويريوبشنز> \
                           <المجلد>http://demoserver1/Blogging قائمة السيناريوهات/قوائم/مخصص مع الفرعي مجلدات/عام 2006</المجلد> \
                         </كويريوبشنز> \
                       </كويريوبشنز> \
                   </جيتليستيتيمس> \
               </سوابينف:الهيئة> \
           </سوابينف:مغلف>";

</نهاية>

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

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

تداخل بلا نهاية <div> JQuery والعلامات

ويبدو أن هذا موضوع غريب الأطوار هذه, لست متأكداً من الأمر يستحق فعلا عن المدونات, ولكن أن لم توقف لي قبل, حتى هنا نذهب ابتسامة

أنني أعمل على مشروع حيث أنا أشعر بسحب بعض البيانات من البحث, التعبئة والتغليف أنها إلى رسالة XML، ومن ثم أن XML في النهاية تتحول إلى HTML عن طريق XSLT.  هناك الكثير من مسج, بت واحد من الذي يقوم بتنفيذ بعض وظائف الجدولة.  عند النقر فوق علامة تبويب (حقا, أ <div>), مسج استدعاء.hide() و.show() على مختلف divs (تحميل الصفحة الأولى تحميل كافة المحتويات حتى تكون هناك ليست إعادة النشر في هذه الحالة).

حفنة من قبل ساعات, علامة التبويب التبديل بين منطق بدأت تتصرف بطريقة متقطعة، وأنها لن تظهر إحدى علامات بلدي.  أنا في نهاية المطاف تعقب ذلك وصولاً إلى الحقيقة أن برنامج internet explorer (على الأقل) ويعتقد أن <div> العلامات المتداخلة الآن, أعمق بكثير من المقصود.سوف يظهر شريط أدوات المطور:

-<div معرف = "Tab1Content">
  -<div>
    -<div>
      -<div معرف = "Tab2Content">
        -<div>
           …………………………
                   </div>  <-وأخيراً تبين أنها قد أغلقت طوال الطريق هنا!

حتى, إذا فعلت $("# Tab1Content").إخفاء(), أنا أيضا إخفاء Tab2 ويمكن أن تظهر ابدأ Tab2 إذا لم أكن أود أيضا أن تظهر Tab1.  نسخ، ولصق التعليمات البرمجية في visual studio، وأنها أظهرت كل من بطانة div يصل لطيف, مثلما كان من المفترض أن تقوم به, يبحث مثل هذا:

-<div معرف = "Tab1Content">
  +<div>
  +<div>
-<div معرف = "Tab2Content">
  +<div>
  +<div>

ضرب رأسي بالحائط لفترة من الوقت، ولاحظ أن التعليمات البرمجية بلغة HTML الفعلي كان توليد الكثير من فارغة <div> العلامات, مثل:

<الهيئة>

  <div معرف = "Tab1Content">

    <div معرف = "row1"/>
    <div معرف = "row2"/>

  </div>

  <div معرف = "Tab2Content">

    <div معرف = "row1"/>
    <div معرف = "row2"/>

  </div>

</الهيئة>

(ما ورد أعلاه واااااااااااي التبسيط.  علامات div فارغ صحيحة تماما. بعض من بلادي <div> العلامات كانت مليئة بالمحتوى, ولكن الكثير لم تكن.  جئت للتحقيق ذلك بلدي <xsl:لكل> توجيهات كانت تلويثاً القصيرة-الشكل علامات div عند xsl:لم أكن لكل ' العثور على أية بيانات.  أنا يجبرن على تعليق HTML الإخراج, كما هو موضح:

image

 

بعد أن فعلت ذلك, جميع div اصطف لطيف وبلدي التبويب التحول بدأ العمل.

كما هو الحال دائماً, أمل أن يساعد هذا شخص في السؤال.

</نهاية>

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

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

ومع ذلك jQuery أكثر–تغيير حجم مثال الصورة

أنا ورثت جزء ويب من بائع العميل القديمة ولديه مشكلة حجم صورة.  يجب أن تكون الصور 60×50 ولكن لسبب غريبة, أجبرهم البائع الأصلي إلى 42×42, حيث تبدو ممرود:

 

صورة جيدة

صورة سيئة

هنا هو العلامة (مبسطة إلى حد ما):

<الجدول class = "تمديد outlook">
  <thead>
    <tr>
      <السابعة والثلاثون  العرض = 100′>3 اليوم الثلاثاء</السابعة والثلاثون>
    </tr>
  </thead>

  <tbody>
    <فئة tr = 'توقعات'>
      <عرض td = 100′>
        <إبري>
          <فئة لي = 'عالي'>عالية: 72&درجة;و</لي>
          <فئة لي = 'منخفضة'>منخفض: 44&درجة;و</لي>
          <فئة لي = 'الشرط'>مشمس
            <img src =’
http://deskwx.weatherbug.com/images/Forecast/icons/localized/60×50/en/trans/cond007.png’ العرض = 42’ الطول = 42’ alt =” />
          </لي>
        </إبري>
      </td>
    </tr>

  </tbody>

</الجدول>

فسوف نلاحظ أنه حتى على الرغم من المسار إلى الصورة نفسها يظهر البعد الصحيح (60×50) ارغمتها المورد الأصلي في 42×42.  لماذا?  مجنون.

على أي حال, كنت أريد حل سريع وسهل لهذه المسألة والتفت إلى مسج.  وكان الخدعة لتحديد موقع كل من المناسبة <عرض وطلب> العلامات.  لم أكن أرغب في الوحل مع أي علامات img الأخرى (التي يوجد منها الكثير).  هذا قليلاً من مسج لا حيلة:

<البرنامج النصي نوع = "نص/جافا سكريبت" src ="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></البرنامج النصي>

<برنامج نصي النوع = "نص/جافا سكريبت">
     $(الوثيقة).استعداد(الدالة () {

         $(' li.condition > [ايمغ] ').كل(الدالة (فهرس, البند)
           
{
             $(البند).css("عرض", "60"); 
             $(البند).css("ارتفاع", "50");
            });
     }); // لتحميل المستند
</البرنامج النصي>

يرى أن قليلاً من رمز المجموعة <لي> العلامات التي الفئة "شرط" و <عرض وطلب> الأطفال.  ثم أنها تتكرر من خلال كل ذلك.  عملت مثل سحر.

يمكن تبسيطه ربما, لكني لم أكن ابدأ هذا النوع من الرجل unix التي تحل π إلى 18 أرقام الدقة استخدام sed و awk وأنا لست هذا النوع إذا مسج غي أما ابتسامة.

</نهاية>

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

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

السيطرة على موافق وإلغاء الأزرار الخاصة بك

لقد كتبت هذه المقالة. حين يعود, لكن يبدو أن أنا لم أكن الارتباط إليها من مدونتي في الوقت, وغني عن ذلك هنا:

image

توضح هذه المقالة كيفية فرض newform.aspx لإعادة توجيه إلى صفحة واحدة عند قيام المستخدم بالنقر فوق "موافق" وصفحة مختلفة عندما تنقر فوق "إلغاء الأمر".

</نهاية>

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

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

معلومات سريعة: JQuery إضافة إلى "صفحات النشر" موس

عند تعزيز صفحات النشر موس باستخدام jQuery, أن تصل سرعة عثرة التالية:

خطأ في الخادم في '/’ التطبيق.


خطأ المحلل اللغوي

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

رسالة خطأ المحلل اللغوي: مسموح فقط بعناصر تحكم المحتوى مباشرة في صفحة محتوى التي تحتوي على عناصر تحكم المحتوى.

خطأ المصدر:

 
Line 10: 
Line 11: 
Line 12: <script 
Line 13:     type="text/javascript" 
Line 14:     src="/jQuery/jquery-1.4.min.js"> 

الملف المصدر: /_catalogs/masterpage/KCC_FacultyMember.aspx    خط: 12


معلومات الإصدار: Microsoft.إصدار الإطار الصافي:2.0.50727.4927; آسيا والمحيط الهادئ.صافي الإصدار:2.0.50727.4927

كان من السهل يكفي لإصلاح (h/t لزميلي, عدي اثيراجولو).  يجب التأكد من أن التعليمة البرمجية مسج يعيش داخل "بلاسيهولديراديتيونالباجيهيد" كما هو موضح:

<آسيا والمحيط الهادئ:المحتوى كونتينتبلاسيهولديريد = "بلاسيهولديراديتيونالباجيهيد" runat = "server">

<البرنامج النصي

    نوع = "نص/جافا سكريبت"

    src="/jQuery/jquery-1.4.min.js">

</البرنامج النصي>

<برنامج نصي النوع = "نص/جافا سكريبت">

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

   // الأشياء الرائعة مسج هنا.

   });

</البرنامج النصي>

</نهاية>

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

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