קאַטעגאָריע אַרטשיוועס: דזשקווערי און שאַרעפּאָינט

באַקומען אַנויינג פּראָבלעם מיט קאָרעוו URL ס אין שאַרעפּאָינט שנעל קאַטער

I wanted to add a link to the quick launch navigation the other day and SharePoint told me:

image

Pure text version of that is:

Ensure that the URL is valid and begins with either a valid character (a number sign (#) or forward slash (/)) or a valid supported protocol (לעמאָשל, ‘http://', ‘https://', ‘file://', ‘ftp://', ‘mailto:', ‘news:').

“Blech and pox!” I said.

A workaround to this is to use JavaScript to find a known link in the quick launch and override its behavior.

To test this, add a new link to your test site thusly:

image

I used jQuery. צו סאָלווע עס, get some JavaScript and jQuery onto the page using your favorite technique and with a line of code like this:

 

$(דאָקומענט).גרייט( פונקציע () {

    $("אַ:contains('Test URL replacement')").גיט(פונקציע () { פלינק("changed click behavior!"); צוריקקומען פאַלש;});

});

And Bob’s your uncle.

The jQuery selector finds every <אַ> tag that has “Test URL replacement” in its name. You may want to find-tune that depending on your link and such.

The .click(פונקציע() overrides whatever SharePoint would have done when the user clicked. Make sure you “return false” or else it will do your stuff and then try to the href thing too, which is almost certainly not your goal.

This was done and test in a SharePoint online environment but should work well in 2010 and earlier too.

</עק>

undefinedאַבאָנירן צו מיין בלאָג.

גיי מיר אויף טוויטטער בייַ http://www.twitter.com/pagalvin

שנעל און סימפּלע: סאָלווע "פאַרקריפּלט URL פּאַראַמעטער” פּראָבלעם מיט ופּדאַטעליסטיטעמס אין ליסצ.אַסמקס

When working with UpdateListItems via lists.asmx, it’s easy to generate the error:

Invalid URL Parameter.

The URL provided contains an invalid Command or Value. Please check the URL again.

You can get this error when you forget to include ID in the the list of fields to update.  דעם, like a lot of these SP web services, is a bit counterintuitive since you need to include the ID in the ID attribute of the <Method> element.  And you’re not updated ID and probably never want to in the first place.

This SOAP envelope works:

<סאָאַפּענוו:קאָנווערט קסמלנס:סאָאַפּענוו ='http://schemas.xmlsoap.org/soap/envelope/'>
  <סאָאַפּענוו:גוף>                      
    <UpdateListItems xmlns='http://schemas.microsoft.com/sharepoint/soap/'>                     
      <דעסידואָוס>{C712E2EA-54E1-47AD-9D99-1848C7773E2F}</דעסידואָוס>                     
        <updates>                     
         <Batch OnError="Continue">
          <Method ID="1" Cmd="Update">
            <Field Name="CooperativeLock">locked!</פעלד>
            <Field Name="ID">1</פעלד>
          </Method>
        </Batch>                     
        </updates>                
      </UpdateListItems>             
  </סאָאַפּענוו:גוף>         
</סאָאַפּענוו:קאָנווערט>

If you strip out the ID field reference then you’ll get the annoying “Invalid URL parameter” message.

</עק>

undefinedאַבאָנירן צו מיין בלאָג.

גיי מיר אויף טוויטטער בייַ http://www.twitter.com/pagalvin

 

נעבעך מענטש ס קאַטשינג אין דזשאַוואַסקריפּט

[TL;DR version: use cookies to store the results of async calls; render the results of past async calls immediately and then validate them after page-load.]

I’ve been working on SharePoint intranet site for a client that features, צווישן אנדערע זאכן, a stylized secondary navigation whose menu options are managed via a regular old custom list.  The idea is that the client gets to control “their” site’s menu without affecting or being affected by the global navigation put out by IT.

(there is something incredibly subversive about adding a CEWP that points to an HTML file that loads some CSS and JS to fundamentally alter almost everything about a site’s behavior… but that’s for another post)

The code for this pretty simple:

The sore spot here is that every time anyone hits one of the site’s pages, that user’s web browser is reaching out to get items from the list.  Once dev is complete and testing has proven things to be stable and complete, this call is unnecessary more than 99% of the time since the menu rarely changes.  It also has a weird UI affect which is common in this brave new world of hyper-ajaxy web sites – the page renders and only then does the menu render.  It’s jittery and distracting in my view.  And jittery. אַזוי, caching. 

I modified the logic thusly:

  • Look for a cookie in the browser that contains the menu as I last read it
    • If found, render it immediately.  Don’t wait for the page to finish loading.  (You need to make sure your HTML is strategically placed here, but it’s not hard to do).
  • Wait for the page to finish loading and make an async call to load up menu items from a list using REST or lists.asmx or whatever
  • Compare what I got against the cookie
    • If it matches, STOP
    • אַנדערש, using jQuery, dynamically populate a bunch if <לי>’s in a <גאַס>
  • Use CSS to do all the formatting
  • Profit!

Some of you are going to say, “hey! there’s no real caching going on here since you’re reading the menu anyway every single time."  And you’re right – I’m not giving the server any kind of break.  But because the call is async and happens after the page’s initial HTML payload fully renders, it “feels” more responsive to the user.  The menu renders pretty much as the page draws.  If the menu happens to the change, the user is subjected to a jittery re-draw of the menu, but only that one time.

There are some ways to make this caching more effective and help out the server at the same time:

  • Put in a rule that the “cookie cache” is valid for a minimum of 24 hours or some other timeframe. As long as there is no expired cookie, use the cookie’s menu snapshot and never hit the server.

Well … that’s all that come to mind right now :). 

If anyone has any clever ideas here I’d love to know them.

And lastly – this technique can be used for other stuff.  This client’s page has a number of data-driven things on various pages, many of them changing relatively rarely (like once a week or once a month).  If you target specific areas of functionality, you can give a more responsive UI by pulling content from the local cookie store and rendering immediately.  It feels faster to the user even if you’re not saving the server any cycles.  דו קענען save the server cycles by deciding on some conditions and triggers to invalidate this local cookie cache.  That’s all situational and artsy stuff and really the most fun :). 

</עק>

undefinedאַבאָנירן צו מיין בלאָג.

גיי מיר אויף טוויטטער בייַ http://www.twitter.com/pagalvin

קססלט און דזשקווערי סאַמפּלעס

איך האב שוין טאן אַ פּלאַץ פון פון קססלט און דזשקווערי און געדאַנק איך 'ד שער אַ ביסל סניפּאַץ אַז אנדערע זאלן געפינען נוצלעך אין צוקונפֿט.

בייַשפּיל 1: אַרויסלאָזן פּשוט דזשאַוואַסקריפּט / דזשקווערי אין קססלט:

<קססל:template match="something" קסמל:space="preserve">

  <!– פּוסט אויס די אָנפֿרעג פרייַנדלעך פילטערס פאַרבאָרגן פעלד –>
  <script type="text/javascript">
    $(דאָקומענט).גרייט(פונקציע(){
      $("#QueryFriendlyFilters").וואַל("empty");
    });
  </שריפט>

</קססל:מוסטער>

אַז ביסל עמיץ עטלעכע דזשאַוואַסקריפּט אַז ווייץ פֿאַר די בלאַט צו ענדיקן Loading (ווייַל פון די $(דאָקומענט).גרייט(...)) און דעריבער שטעלט די ווערט פון אַ פאַרבאָרגן פעלד געהייסן קוועריפריענדליפילטערס צו די פּשאַט - פּאָשעט ווערט "ליידיק".

בייַשפּיל 2: נוצן <קססל:צי> צו טשעק "גרעסער ווי",  "ווייניקער ווי", אאז"ו ו.

<קססל:template match="something" קסמל:space="preserve">

  <div id="fdcAllFilters">
 
    <קססל:if test="@Count>0">
      <span class="fdcFilterLabel">קראַנט פילטערס:</שפּאַן>
    </קססל:צי>

    <!– מער שטאָפּן כאַפּאַנז דאָ. –>

</קססל:מוסטער>

די אויבן סניפּאַט טשעקס צו זען אויב אַ אַטריביוט געהייסן "גראף" פון דער "עפּעס" עלעמענט איז גרעסער ווי נול.  די קסמל הינטער דעם וואָלט זייַן עפּעס ווי:"

<עפּעס גראף = "5" />

בייַשפּיל 3: יטעראַטע דורך אַלע עלעמענטן, ינטערספּערסינג דזשקווערי רופט.

<!– יטעראַטע דורך אַלע די פילטערס און אַרויסווייַזן די ריכטיק  לינקס. –>
<קססל:for-each select="UserFilter">

  <a class="FilterHref" href="javascript:מיסובמיטפּאַגע('RemoveUserFilter','{@ שייַן}')">[X]</אַ>

  <span class="fdcFilterLabel"><קססל:value-of select="@FilterValue"/></שפּאַן>

  <script type="text/javascript">

    $(דאָקומענט).גרייט(פונקציע(){
        <קססל:טעקסט><![קדאַטאַ[$("#QueryFriendlyFilters").וואַל( ($("#QueryFriendlyFilters").וואַל() + " ]]></קססל:טעקסט>\"<קססל:value-of select="@FilterValue"/>\"<קססל:טעקסט><![קדאַטאַ["));]]></קססל:טעקסט>
    });

  </שריפט>

</קססל:פֿאַר, יעדער>

די אויבן סניפּאַט איז די מערסט קאָמפּלעקס און עס זאל זייַן גרינגער וועגן צו טאָן עס.

די קסמל הינטער דעם קוקט בעערעך ווי דעם:

<וסערפילטער שייַן = "123" פילטערוואַלוע = "קסיזזי" />

דאס סניפּאַט איז יטעראַטינג דורך <באַניצער פֿילטריר> נאָודז. 

עס ערשטער עמיץ אַ אַנקער פאַרבינדן אַז ווען קליקט ינוואָוקס אַ דזשאַוואַסקריפּט פֿונקציע וואָס איז שוין אויף דער בלאַט, "מיסובמיטפּאַגע" און פּאַסיז די ווערט פון אַ אַטריביוט אויף די <באַניצער פֿילטריר> נאָדע געהייסן "שייַן". 

עס דעמאָלט עמיץ עטלעכע דזשקווערי אַז ווייץ פֿאַר די בלאַט צו מאַסע.  אַז דזשקווערי דערהייַנטיקונגען אַ פאַרבאָרגן פעלד געהייסן "קוועריפריענדליפילטערס" דורך אַדינג די ווערט פון די פילטערוואַלוע אַטריביוט.  באַמערקונג אַלע די משוגע <קססל:טעקסט> און <![קדאַטאַ[ ... ]]> שטאָפּן.

אַז ס עס, האָפֿן עס העלפט!

</עק>

אַבאָנירן צו מיין בלאָג.

גיי מיר אויף טוויטטער בייַ http://www.twitter.com/pagalvin

ליסצ.אַסמקס, געטליסטיטעמס און פאָלדערס

איך איז געווען טאן עטלעכע פאָרשונג פֿאַר עמעצער הייַנט אַרום די ליסט.אַסמקס וועב דינסט צוגעשטעלט ווי טייל פון שאַרעפּאָינט 2010 (און פריער).  זי איז געווען ביכולת צו באַקומען די רשימה זאכן אין דער וואָרצל טעקע (אַרייַנגערעכנט די נעמען פון סאַב-פאָלדערס), אָבער קען נישט באַקומען זאכן אין סאַב-פאָלדערס.  איך האט עטלעכע קוקן אַרום אויף די ינטערנעץ און עס ס אַ סאַפּרייזינגלי פּראָסט קשיא.  נאָך, איך קען נישט באַקומען אַ גוט ענטפֿערן צו דער פּשוט קשיא, "אויב איך וויסן דער טעקע, ווי טאָן איך באַקומען די זאכן אין דער טעקע?"  צו זייַן ערלעך, איך האט נישט פּרובירן אַלע אַז שווער זינט איך ווע געוואלט צו רעכענען דאָס איינער אויס אויף מיין אייגן פֿאַר אַ בשעת שמייכל.

צו שטעלן דעם אַרויף, איך באשאפן אַ פּלאַץ געהייסן "בלאָגגינג ססענאַריאָס" און אַ מנהג רשימה געהייסן "מנהג רשימה מיט סוב פאָלדערס".  איך דעמאָלט באשאפן פאָלדערס געהייסן:

  • יאָר 2005
  • יאָר 2006
  • יאָר 2007

איך צוגעלייגט אַ ביסל זאכן צו דער טעקע "יאר 2006".  דאס איז וואָס עס קוקט ווי:

image

מייַן פרייַנד איז נישט שרייבן C # קאָד אָבער גאַנץ ניצן ז'אבא, אַזוי די זייף קאָנווערט איז געווען וואָס זי טאַקע דארף.  צו באַקומען אַז, איך געשריבן אַ ביסל פון דזשקווערי און דעמאָלט געניצט פידלער צו באַקומען די פאַקטיש הטטפּ שמועס.

דאָ ס דער באַטייַטיק דזשקווערי (איך קאַפּיד די קאָד אַראָפּ אונטן אויב איר ווילן צו קאָפּיע / פּאַפּ):

image

זיי ערשטער שליסל איז צו אַרייַננעמען ביידע אַ <קוועריאָפּטיאָנס> און <קוועריאָפּטיאָנס> נאָדע.  די רגע שליסל איז אַז די <טעקע> נאָדע איז אַ URL צו וואָס דער קליענט האט צוטריט.

עס קען זייַן אנדערע וועגן צו באַקומען דעם, אָבער דאָס געארבעט געזונט פֿאַר מיר ווען ניצן דזשקווערי.

דאָ איז די זייף קאָנווערט פֿאַר די אויבן:

<סאָאַפּענוו:קאָנווערט קסמלנס:סאָאַפּענוו =’הטטפּ://schemas.xmlsoap.org / זייף / קאָנווערט /’>                
  <סאָאַפּענוו:גוף>
    <געטליסטיטעמס קסמלנס =’
הטטפּ://schemas.microsoft.com / שאַרעפּאָינט / זייף /’>
      <דעסידואָוס>מנהג רשימה מיט סוב פאָלדערס</דעסידואָוס>
      <וויעוופיעלדס>  
        <וויעוופיעלדס>
          <פיעלדרעף נאָמען = 'ענין’ />
          <פיעלדרעף נאָמען = 'ענקאָדעדאַבסורל’ />
        </וויעוופיעלדס>
      </וויעוופיעלדס>
      <קוועריאָפּטיאָנס>
        <קוועריאָפּטיאָנס>
          <טעקע>
הטטפּ://דעמאָסערווער1/בלאָגגינג סינעריאָוז / רשימות / מנהג רשימה מיט סוב פאָלדערס / יאר 2006</טעקע>
        </קוועריאָפּטיאָנס>
      </קוועריאָפּטיאָנס>
   
</געטליסטיטעמס>
  </סאָאַפּענוו:גוף>
</סאָאַפּענוו:קאָנווערט>

א פּלאַץ פון ביישפילן און דיסקוסיע אַרום דעם געפירט מיר צו גלויבן אַז אַלע איך דאַרפֿן געווען <קוועריאָפּטיאָנס> און ספּעציפיצירן אַ טעקע נאָמען.  פֿאַר מיר, איך דאַרפֿן צו ביידע ייַנוויקלען עס ין <קוועריאָפּטיאָנס> ווי געזונט ווי ספּעציפיצירן אַ גאָר קוואַלאַפייד URL פֿאַר די <טעקע> נאָדע.

דאָ ס דער דזשקווערי AJAX סעטאַפּ:

$(דאָקומענט).גרייט(פונקציע() {
       איז סאָאַפּענוו =
           "<סאָאַפּענוו:קאָנווערט קסמלנס:סאָאַפּענוו =’הטטפּ://schemas.xmlsoap.org / זייף / קאָנווערט /’> \
               <סאָאַפּענוו:גוף> \
                    <געטליסטיטעמס קסמלנס =’הטטפּ://schemas.microsoft.com / שאַרעפּאָינט / זייף /’> \
                       <דעסידואָוס>מנהג רשימה מיט סוב פאָלדערס</דעסידואָוס> \
                       <וויעוופיעלדס> \
                           <וויעוופיעלדס> \
                              <פיעלדרעף נאָמען = 'ענין’ /> \
                              <פיעלדרעף נאָמען = 'ענקאָדעדאַבסורל’ /> \
                          </וויעוופיעלדס> \
                       </וויעוופיעלדס> \
                       <קוועריאָפּטיאָנס> \
                         <קוועריאָפּטיאָנס> \
                           <טעקע>http://demoserver1/Blogging סינעריאָוז / רשימות / מנהג רשימה מיט סוב פאָלדערס / יאר 2006</טעקע> \
                         </קוועריאָפּטיאָנס> \
                       </קוועריאָפּטיאָנס> \
                   </געטליסטיטעמס> \
               </סאָאַפּענוו:גוף> \
           </סאָאַפּענוו:קאָנווערט>";

</עק>

אַבאָנירן צו מיין בלאָג.

גיי מיר אויף טוויטטער בייַ http://www.twitter.com/pagalvin

ליסצ.אַסמקס, געטליסט און "וואַליו קענען ניט זיין נאַל”

איך דיסקאַווערד הייַנט אַז די געטליסט() מיטל אין ליסצ.אַסמקס וועב דינסט האט צו זיין גערופן זייער קערפאַלי אָדער עס ס פּראָנע צו וואַרפן אַ מיסטעריעז "וואַליו קענען ניט זיין נאַל" ויסנעם (און אַז ס אַסומינג איר קענען באַקומען פאַרבייַ דעם אפילו ערגער דזשאַנעריק טעות אָנזאָג, “Exception of type ‘Microsoft.SharePoint.SoapServer.SoapServerException’ איז געווען ארלנגעווארפן. ")  ספּעסיפיקאַללי, איך געפונען אַז איר קענען נישט צושטעלן קיין מין פון פּרעפיקס אויף די געטליסט אופֿן.  די ווייַטערדיק דזשקווערי סניפּאַט ילאַסטרייץ די פונט:

image

אויב איר טאָן אַז, די וועב דינען ריספּאַנדז מיט "וואַליו קענען ניט זיין נאַל" ווי פּער דעם פידלער-ביטנייַ הטטפּ טראַנסקריפּט:

<?xml version="1.0" encoding="utf-8"?>
  <זייף:קאָנווערט
     קסמלנס:זייף ="
הטטפּ://schemas.xmlsoap.org / זייף / קאָנווערט /"    
     קסמלנס:קססי = "
הטטפּ://www.w3.org/2001/XMLSchema-instance"
     קסמלנס:קססד ="
הטטפּ://www.w3.org/2001/XMLSchema">

  <זייף:גוף>
    <זייף:שולד>
      <פאַולטקאָדע>זייף:סערווירער</פאַולטקאָדע>
      <פאַולצטרינג>
        Exception of type ‘Microsoft.SharePoint.SoapServer.SoapServerException’ איז געווען ארלנגעווארפן.
      </פאַולצטרינג>
      <דעטאַל>
        <ערראָרסטרינג קסמלנס ="
הטטפּ://schemas.microsoft.com / שאַרעפּאָינט / זייף /">
ווערט קענען ניט זיין נאַל.
        </ערראָרסטרינג>
      </דעטאַל>
    </זייף:שולד>
  </זייף:גוף>
</זייף:קאָנווערט>

אַוואַדע, איר מיסטאָמע וואָלט ניט לייגן אַז "ס0" פּרעפיקס אויף אייער אייגן, אָבער עטלעכע מכשירים זענען פּראָנע צו טאָן עס (ווי עקליפּסע).

דעם איז אַלע דער מער קאַנפיוזינג / פראַסטרייטינג ווייַל אנדערע מעטהאָדס דערלאָזן פּרעפיקסעס.  לעמאָשל, די געטליסטקאָללעקטיאָן מיטל טוט ניט מיינונג אויב עס ס געווען פּרעפיקסעד, אפילו מיט ומזין פּרעפיקסעס ווי "קסיזזי":

image

דעם "ווערט קענען ניט זיין נאַל" מיינט פערלי געוויינטלעך מיט ליסצ.אַסמקס אַזוי אַלעווייַ דעם וועט העלפן עמעץ אויס אין צוקונפט.

</עק>

אַבאָנירן צו מיין בלאָג.

גיי מיר אויף טוויטטער בייַ http://www.twitter.com/pagalvin

ענדלעססלי נעסטינג <דיוו> טאַגס און דזשקווערי

דעם מיינט ווי אַזאַ אַ אַדבאָל טעמע, איך בין נישט זיכער עס ס טאַקע ווערט בלאָגגינג וועגן, אָבער אַז ס קיינמאָל פארשטאפט מיר פריער, אַזוי דאָ מיר גיין שמייכל

איך בין אַרבעט אויס אויף אַ פּרויעקט ווו איך בין פּולינג עטלעכע דאַטן פון אַ זוכן, פּאַקידזשינג עס אַרויף אין אַ קסמל אָנזאָג און דעמאָלט אַז קסמל איז לעסאָף פארוואנדלען אין HTML דורך קססלט.  עס ס אַ פּלאַץ פון דזשקווערי ינוואַלווד, איינער ביסל פון וואָס ימפּלאַמאַנץ עטלעכע טאַבינג פאַנגקשאַנאַליטי.  ווען איר דריקט אויף אַ קוויטל (טאַקע, אַ <דיוו>), דזשקווערי ינוואָוקס. באַהאַלטן() און. ווייַזן() אויף פארשידענע דיווס (דער ערשט בלאַט לאָדן דאַונלאָודז אַלע די צופרידן אַזוי עס זענען ניט פּאָסטבאַקקס אין דעם פאַל).

א בינטל פון שעה צוריק, דער קוויטל סוויטשינג לאָגיק סטאַרטעד צו ביכייוו עראַטיקלי און עס וואָלט ניט ווייַזן איינער פון מיין טאַבס.  איך לעסאָף טראַקט עס אַראָפּ צו די פאַקט אַז אינטערנעט Explorer (בייַ מינדסטער) געדאַנק אַז דער <דיוו> טאַגס נעסטעד ווייַט, ווייַט דיפּער ווי ינטענדעד.טהע דעוועלאָפּער מכשיר וואָלט ווייַזן:

-<דיוו שייַן = "טאַב1קאָנטענט">
  -<דיוו>
    -<דיוו>
      -<דיוו שייַן = "טאַב2קאָנטענט">
        -<דיוו>
           ..............................
                   </דיוו>  <-לעסאָף ווייַזונג עס איז געווען פארשלאסן אַלע די וועג אַראָפּ דאָ!

אַזוי, אויב איך האבן אַ $("# טאַב1קאָנטענט").באַהאַלטן(), איך'ד אויך באַהאַלטן טאַב2 און איך קען קיינמאָל ווייַזן טאַב2 אויב איך האט ניט אויך ווייַזן טאַב1.  איך קאַפּיד און פּייסטיד די קאָד אַרויף אין וויזשאַוואַל סטודיע און עס אנטפלעקט אַלע פון ​​די דיוו ס ונטערשלאַק אַרויף נייסלי, פּונקט ווי זיי האבן געמיינט צו זיין טאן, קוקן ווי דעם:

-<דיוו שייַן = "טאַב1קאָנטענט">
  +<דיוו>
  +<דיוו>
-<דיוו שייַן = "טאַב2קאָנטענט">
  +<דיוו>
  +<דיוו>

איך קלאַפּן מיין קאָפּ קעגן די וואַנט פֿאַר אַ בשעת און באמערקט אַז אין די פאַקטיש HTML קאָד איז געווען דזשענערייטינג אַ פּלאַץ פון ליידיק <דיוו> טאַגס, ווי:

<גוף>

  <דיוו שייַן = "טאַב1קאָנטענט">

    <דיוו שייַן = "ראָוו1" />
    <דיוו שייַן = "ראָוו2" />

  </דיוו>

  <דיוו שייַן = "טאַב2קאָנטענט">

    <דיוו שייַן = "ראָוו1" />
    <דיוו שייַן = "ראָוו2" />

  </דיוו>

</גוף>

(די אויבן איז וואַאַאַאַאַאַאַאַאַאַאַייַ איבער סימפּלאַפייד.  די ליידיק דיוו טאַגס זענען טאָוטאַלי גילטיק. עטלעכע פון ​​מיין <דיוו> טאַגס זענען פול פון צופרידן, אָבער פילע מער האבן ניט.  איך געקומען צו דער מעקייַעם אַז מיין <קססל:פֿאַר, יעדער> דיירעקטיווז זענען ימיטינג די קורץ-פאָרמע דיוו טאַגס ווען די קססל:פֿאַר, יעדער האט ניט 'געפינען קיין דאַטן.  איך געצווונגען אַ HTML באַמערקונג אין די פּראָדוקציע, ווי געוויזן:

image

 

נאָך איך האט אַז, אַלע די דיוו ס ליינד אַרויף נייסלי און מיין קוויטל סוויטשינג סטאַרטעד אַרבעט.

ווי שטענדיק, איך האָפֿן דעם העלפט עמעצער אין אַ נויט.

</עק>

אַבאָנירן צו מיין בלאָג.

גיי מיר אויף טוויטטער בייַ http://www.twitter.com/pagalvin

נאָך מער דזשקווערי–רעסיזע אַ בילד עקסאַמפּלע

איך ינכעראַטיד אַ וועב טייל פון אַ קליענט ס אַלט פאַרקויפער און עס האט אַ בילד פאָרמאַט פּראָבלעם.  דער בילדער זאָל זיין 60×50 אָבער פֿאַר עטלעכע מאָדנע סיבה, דער אָריגינעל פאַרקויפער געצווונגען זיי אין 42×42, אַזוי זיי קוקן סקוואַשט:

 

גוט בילדזוך

שלעכט בילדזוך

דאָ ס די מאַרקאַפּ (עפּעס סימפּלאַפייד):

<טיש סאָרט = 'עקסטענדעד-דערוואַרטונג'>
  <טהעאַד>
    <טר>
      <טה  ברייט = '100′>3 דינסטיק</טה>
    </טר>
  </טהעאַד>

  <טבאָדי>
    <טר סאָרט = 'פאָרויסזאָגן'>
      <טד ברייט = '100′>
        <גאַס>
          <לי סאָרט = 'הויך'>הויך: 72&דו;ף</לי>
          <לי סאָרט = 'נידעריק'>נידעריק: 44&דו;ף</לי>
          <לי סאָרט = 'צושטאַנד'>זוניק
            <ימג סרק =’
הטטפּ://deskwx.weatherbug.com/images/Forecast/icons/localized/60×50/ענ/טראַנס/קאָנד007.פּנג’ ברייט = '42’ הייך = '42’ אַלט =” />
          </לי>
        </גאַס>
      </טד>
    </טר>

  </טבאָדי>

</טיש>

איר וועט טאָן אַז אפילו כאָטש דער דרך צו דער בילד זיך ווייזט דער געהעריק ויסמעסטונג (60×50) דער אָריגינעל פאַרקויפער געצווונגען עס אין 42×42.  פאַר וואָס?  מעשוגע.

סייַ ווי סייַ, איך געוואלט אַ שנעל און גרינג לייזונג צו דעם אַרויסגעבן און איך אויסגעדרייט צו דזשקווערי.  דער קונץ איז צו געפינען אַלע פון ​​די געהעריק <ימג> טאַגס.  איך האט ניט וועלן צו מאַק וועגן מיט קיין אנדערע ימג טאַגס (פון וועלכע עס זענען פילע).  דעם שטיקל פון דזשקווערי האט דער טריק:

<script type="text/javascript" סרק ="הטטפּ://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></שריפט>

<script type="text/javascript">
     $(דאָקומענט).גרייט(פונקציע () {

         $('לי.צושטאנד > ימג ').יעדער(פונקציע (ינדעקס, נומער)
           
{
             $(נומער).קסס("width", "60"); 
             $(נומער).קסס("height", "50");
            });
     }); // אויף דאָקומענט לאָדן
</שריפט>

אַז ביסל פון קאָד געפינט די זאַמלונג <לי> טאַגס וועמענס סאָרט איז "צושטאַנד" און <ימג> קינדער.  עס דעמאָלט יטעראַטעס דורך אַלע פון ​​וואס.  געארבעט ווי אַ כיין.

איך קען מיסטאָמע סטרימליין עס, אָבער איך קיינמאָל איז געווען אַ די מין פון יוניקס באָכער אַז סאַלווד π צו 18 דידזשאַץ פּינטלעכקייַט ניצן סעד און אַווק און איך בין ניט אַז מין אויב דזשקווערי באָכער אָדער שמייכל.

</עק>

אַבאָנירן צו מיין בלאָג.

גיי מיר אויף טוויטטער בייַ http://www.twitter.com/pagalvin

ינסטרומענט אַ גלאבאלע פּאָפּ-אַרויף נאָטיפיקאַטיאָן סיסטעם

איך געשריבן אַרויף אַן אַרטיקל פֿאַר www.sharepoint.briefing.com ענטייטאַלד "ינסטרומענט אַ גלאבאלע פּאָפּ-אַרויף נאָטיפיקאַטיאָן סיסטעם."  דעם פֿונקציע איז געווען ימפּלאַמענאַד פֿאַר אַ קהל קאָלעגע צו יבערגעבן שולע קלאָוזינגז רעכט צו שניי און אַזוי אַרויס. 

עס ניצט אַ מנהג רשימה, אויס פון די קעסטל שאַרעפּאָינט וועב באַדינונגען און עטלעכע דזשקווערי צו טאָן די אַרבעט.

דאָ ס אַ טיזער:

image

לייענען די גאנצע זאַך דאָ: http://www.sharepointbriefing.com/features/article.php/3918471/Implement-a-Global-Pop-up-Notification-System.htm

</עק>

אַבאָנירן צו מיין בלאָג.

גיי מיר אויף טוויטטער בייַ http://www.twitter.com/pagalvin

נעמען קאָנטראָל פון דיין גוט און קאַנסעל בוטטאָנס

איך געשריבן דעם אַרטיקל אַ בשעת צוריק, אָבער קוקט ווי איך האט ניט לינק צו עס פון מיין בלאָג בייַ די צייַט, אַזוי דאָ גייט:

image

דעם אַרטיקל באשרייבט ווי צו צווינגען נעוופאָרמ.אַספּקס צו רידערעקט צו איין זייַט ווען דער באַניצער קליקס גוט און אַ אַנדערש בלאַט ווען זי קליקס באָטל מאַכן.

</עק>

אַבאָנירן צו מיין בלאָג.

גיי מיר אויף טוויטטער בייַ http://www.twitter.com/pagalvin