<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Don&#039;t Worry, Be Happy &#8211; Development is FUN</title>
	<atom:link href="http://blogs.microsoft.co.il/arnold/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.microsoft.co.il/arnold</link>
	<description>הבלוג של ארנולד שמחה המכיל מאמרים בנושאים שונים כגון: jQuery, Asp.net, Css, HTML, Photoshop ועוד</description>
	<lastBuildDate>Thu, 26 Dec 2013 01:41:29 +0000</lastBuildDate>
	<language>he-IL</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.0.2</generator>
	<item>
		<title>Javascript–CSS String To Css Object–סקריפט לחיים קלים</title>
		<link>http://blogs.microsoft.co.il/arnold/2011/08/17/javascriptcss-string-to-css-object%d7%a1%d7%a7%d7%a8%d7%99%d7%a4%d7%98-%d7%9c%d7%97%d7%99%d7%99%d7%9d-%d7%a7%d7%9c%d7%99%d7%9d/</link>
		<comments>http://blogs.microsoft.co.il/arnold/2011/08/17/javascriptcss-string-to-css-object%d7%a1%d7%a7%d7%a8%d7%99%d7%a4%d7%98-%d7%9c%d7%97%d7%99%d7%99%d7%9d-%d7%a7%d7%9c%d7%99%d7%9d/#respond</comments>
		<pubDate>Wed, 17 Aug 2011 23:22:34 +0000</pubDate>
		<dc:creator><![CDATA[Arnold]]></dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[DEV]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Resources]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blogs.microsoft.co.il/?p=885781</guid>
		<description><![CDATA[לפרויקט מסוים שעשיתי הייתי חייב להמיר מחרוזת של CSS לאובייקט.ניסיתי לחפש ברשת פתרונות, אך לצערי לא הצלחתי למצוא פתרון טוב, לכן החלטתי לתרגל את הידע שלי ב Regex והגעתי לפתרון לא רע (בעיני).אתם מוזמנים להשתמש בסקריפט כרצונכם ולהציע הצעות לשיפור 🙂 function cssToObject(css) { var obj = {}, splits, regex = new RegExp("([a-z-]+)\s*:\s*([^;$]+)", "gmi"), props [&#8230;]]]></description>
				<content:encoded><![CDATA[<div dir="rtl" align="right">
<table style="color: #000000" class="tableStandart" cellspacing="0">
<tbody>
<tr>
<td valign="top" align="right">לפרויקט מסוים שעשיתי הייתי חייב להמיר מחרוזת של CSS לאובייקט.<br />ניסיתי לחפש ברשת פתרונות, אך לצערי לא הצלחתי למצוא פתרון טוב, לכן החלטתי לתרגל את הידע שלי ב Regex והגעתי לפתרון לא רע (בעיני).<br />אתם מוזמנים להשתמש בסקריפט כרצונכם ולהציע הצעות לשיפור <img src="https://s.w.org/images/core/emoji/11/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td>
<td class="thumbImg" valign="top"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Javascript&ndash;CSS String To Css Object&ndash;סקריפט לחיים קלים" border="0" alt="Javascript&ndash;CSS String To Css Object&ndash;סקריפט לחיים קלים" src="http://blogs.microsoft.co.il/blogs/arnold/cssToObject_4ED02A08.jpg" width="120" height="120"></td>
</tr>
</tbody>
</table>
</div>
<p> <span id="more-885781"></span> </p>
<div dir="rtl" align="right">
<div dir="ltr" align="left">
<pre class="brush: js;">function cssToObject(css) {
    var obj = {},
        splits,
        regex = new RegExp("([a-z-]+)\s*:\s*([^;$]+)", "gmi"),
        props = css.match(regex);

    for (var i = 0; i &lt; props.length; i++) {
        splits = props[i].split(":");
        if (splits.length == 2)
            obj[splits[0]] = splits[1];
    }
    return obj;
}
</pre>
</div>
<h5>CSS String</h5>
<div dir="ltr" align="left">
<pre class="brush: css;">margin-top:5px; margin-bottom:5px; color:#000
</pre>
</div>
<h5>CSS Object</h5>
<p class="thumbImg" align="center"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Javascript&ndash;CSS String To Css Object&ndash;סקריפט לחיים קלים" border="0" alt="Javascript&ndash;CSS String To Css Object&ndash;סקריפט לחיים קלים" src="http://blogs.microsoft.co.il/blogs/arnold/css_2D045177.jpg" width="207" height="58"></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blogs.microsoft.co.il/arnold/2011/08/17/javascriptcss-string-to-css-object%d7%a1%d7%a7%d7%a8%d7%99%d7%a4%d7%98-%d7%9c%d7%97%d7%99%d7%99%d7%9d-%d7%a7%d7%9c%d7%99%d7%9d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JQuery Plugin–LTR or RTL inputs</title>
		<link>http://blogs.microsoft.co.il/arnold/2011/08/15/jquery-pluginltr-or-rtl-inputs/</link>
		<comments>http://blogs.microsoft.co.il/arnold/2011/08/15/jquery-pluginltr-or-rtl-inputs/#respond</comments>
		<pubDate>Mon, 15 Aug 2011 14:32:14 +0000</pubDate>
		<dc:creator><![CDATA[Arnold]]></dc:creator>
				<category><![CDATA[DEV]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Jquery]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[TECH]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blogs.microsoft.co.il/?p=884609</guid>
		<description><![CDATA[בטוח ששמת לב ש Google יודע לזהות באיזו שפה אתם מתחילים לרשום את שאילתת החיפוש ובהתאם לזה מיישר את הטקסט. גם Facebook עושה את אותו הדבר בכתיבת סטטוסים.הפלאגין בהא יאפשר לכם לעשות זאת בקלות.ה ZIP כולל בתוכו דוגמאות וקובץ מקור. מה הרעיון? ברגע שבן אדם יקיש תו בתוך השדה, נבדוק אם התו בשפה עברית או [&#8230;]]]></description>
				<content:encoded><![CDATA[<div dir="rtl" align="right">
<table style="color: #000000" class="tableStandart" cellspacing="0">
<tbody>
<tr>
<td valign="top" align="right">בטוח ששמת לב ש Google יודע לזהות באיזו שפה אתם מתחילים לרשום את שאילתת החיפוש ובהתאם לזה מיישר את הטקסט. גם Facebook עושה את אותו הדבר בכתיבת סטטוסים.<br />הפלאגין בהא יאפשר לכם לעשות זאת בקלות.<br />ה ZIP כולל בתוכו דוגמאות וקובץ מקור.</td>
<td class="thumbImg" valign="top"><a href="http://blogs.microsoft.co.il/blogs/arnold/input_ltr_rtl_37613316.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="input_ltr_rtl" border="0" alt="input_ltr_rtl" src="http://blogs.microsoft.co.il/blogs/arnold/input_ltr_rtl_thumb_6E5B114F.jpg" width="120" height="120"></a></td>
</tr>
</tbody>
</table>
</div>
<p> <span id="more-884609"></span> </p>
<div dir="rtl" align="right">
<h5>מה הרעיון?</h5>
<p>ברגע שבן אדם יקיש תו בתוך השדה, נבדוק אם התו בשפה עברית או לא ובהתאם לזה נחבר עיצוב מתאים.</p>
<p><a class="green" href="http://one-v.co.il/blog/Arnold/onevInputTextDirection/index.htm" target="_blank">לדוגמא והורדה לחצו כאן</a></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blogs.microsoft.co.il/arnold/2011/08/15/jquery-pluginltr-or-rtl-inputs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaScript Cookies === Asp.Net Cookie–טיפ לחיים קלים</title>
		<link>http://blogs.microsoft.co.il/arnold/2011/06/03/javascript-cookies-aspnet-cookie%d7%98%d7%99%d7%a4-%d7%9c%d7%97%d7%99%d7%99%d7%9d-%d7%a7%d7%9c%d7%99%d7%9d/</link>
		<comments>http://blogs.microsoft.co.il/arnold/2011/06/03/javascript-cookies-aspnet-cookie%d7%98%d7%99%d7%a4-%d7%9c%d7%97%d7%99%d7%99%d7%9d-%d7%a7%d7%9c%d7%99%d7%9d/#respond</comments>
		<pubDate>Fri, 03 Jun 2011 15:42:07 +0000</pubDate>
		<dc:creator><![CDATA[Arnold]]></dc:creator>
				<category><![CDATA[DEV]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Resources]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blogs.microsoft.co.il/?p=840108</guid>
		<description><![CDATA[ב Asp.net מאוד נוח לעבוד על עוגיות, לקבץ&#160; נתונים לעוגייה אחת. ב Javascript הסיפור קצת אחר, השפה אינה כוללת אופציה של קיבוץ נתונים לעוגייה אחת. דבר זה “מכריח” אותנו ליצור עוגיות לכל נתון.במאמר זה אציג לכם דרך לדמות את שיטת העבודה עם עוגיות ב JavaScript בדומה ל Net. לעבודה! ב Net. זאת הדרך ליצירת עוגיות: [&#8230;]]]></description>
				<content:encoded><![CDATA[<div dir="rtl" align="right">
<table style="color: #000000" class="tableStandart" cellspacing="0">
<tbody>
<tr>
<td valign="top" align="right">ב Asp.net מאוד נוח לעבוד על עוגיות, לקבץ&nbsp; נתונים לעוגייה אחת. <br />ב Javascript הסיפור קצת אחר, השפה אינה כוללת אופציה של קיבוץ נתונים לעוגייה אחת. דבר זה “מכריח” אותנו ליצור עוגיות לכל נתון.<br />במאמר זה אציג לכם דרך לדמות את שיטת העבודה עם עוגיות ב JavaScript בדומה <br />ל Net.</td>
<td class="thumbImg" valign="top"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="JavaScript Cookies === Asp.Net Cookie&ndash;טיפ לחיים קלים" border="0" alt="JavaScript Cookies === Asp.Net Cookie&ndash;טיפ לחיים קלים" src="http://blogs.microsoft.co.il/blogs/arnold/cookies_0C47480E.jpg" width="120" height="120"></td>
</tr>
</tbody>
</table>
</div>
<p> <span id="more-840108"></span> </p>
<div dir="rtl" align="right">
<h5>לעבודה!</h5>
<p>ב Net. זאת הדרך ליצירת עוגיות:</p>
<div dir="ltr" align="left">
<pre class="brush: csharp;">HttpCookie c = new HttpCookie(".netCookie");
c["key1"] = "value1";
c["key2"] = "value2";
Response.Cookies.Add(c);
</pre>
</div>
<p>לאחר שנריץ את העמוד ונבדוק את העוגייה נקבל את:</p>
<p><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="JavaScript Cookies === Asp.Net Cookie&ndash;טיפ לחיים קלים" border="0" alt="JavaScript Cookies === Asp.Net Cookie&ndash;טיפ לחיים קלים" src="http://blogs.microsoft.co.il/blogs/arnold/image_7361B36F.png" width="453" height="401"></p>
<p>על מנת לקבל את את העוגיות כל מה שנצטרך לכתוב הוא:</p>
<div dir="ltr" align="left">
<pre class="brush: csharp;">HttpCookie gc = Request.Cookies[".netCookie"];
if (gc != null)
    Response.Write(gc["key1"]);
</pre>
</div>
<h5></h5>
<h5>ב JavaScript הסיפור קצת אחר</h5>
<p>JavaScript אינו מאפשר לעבוד על קבוצה של נתונים בתוך עוגייה. הפתרון הבא יאפשר לכם לעשות זאת.<br />יצרתי אובייקט אשר מנהל את העוגיות (<a href="http://www.quirksmode.org/js/cookies.html" target="_blank">יצרה של העוגיות נלקחה מאתר הזה</a>):</p>
<div dir="ltr" align="left">
<pre class="brush: js;">var cookies = {
    set: function (name, value, days) {
        /// &lt;summary&gt;Set Cookie&lt;/summary&gt;
        /// &lt;param name="name" type="string"&gt;Cookie Name&lt;/param&gt;
        /// &lt;param name="value"&gt;Cookie Value&lt;/param&gt;
        /// &lt;param name="days" type="int"&gt;Cookie live (in days)&lt;/param&gt;

        if (days) {
            var date = new Date();
            date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
            var expires = "; expires=" + date.toGMTString();
        }
        else var expires = "";
        document.cookie = name + "=" + value + expires + "; path=/";
    },
    get: function (name) {
        /// &lt;summary&gt;Get Cookie&lt;/summary&gt;
        /// &lt;param name="name" type="string"&gt;Cookie Name&lt;/param&gt;

        var nameEQ = name + "=";
        var ca = document.cookie.split(';');
        for (var i = 0; i &lt; ca.length; i++) {
            var c = ca[i];
            while (c.charAt(0) == ' ') c = c.substring(1, c.length);
            if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
        }
        return null;
    },
    remove: function (name) {
        /// &lt;summary&gt;Remove Cookie&lt;/summary&gt;
        /// &lt;param name="name" type="string"&gt;Cookie Name&lt;/param&gt;

        this.set(name, "", -1);
    }
};
</pre>
</div>
<p>השימוש בזה הוא ממש פשוט:</p>
<div dir="ltr" align="left">
<pre class="brush: js;">//set cookie
cookies.set("cookieName","cookieValue", 10)

//get cookie
cookies.get("cookieName")

//remove cookie
cookies.remove("cookieName")
</pre>
</div>
<h5>עכשיו לחלק המתקדם יותר</h5>
<p>נגיד ושמרתי בעוגייה אחת את המידע הבא:</p>
<p><strong></strong></p>
<pre class="brush: js;">key1=value1&amp;value11&amp;key2=value2
</pre>
</div>
<p>הערך של “key1” הוא “value1&amp;value11” (לא נוכל לפצל לפי “&amp;”)</p>
<p>ה Prototype הבא יאפשר לכם לפצל את המחרוזת לאובייקט של נתונים:</p>
<div dir="ltr" align="left">
<pre class="brush: js;">String.prototype.toNameCollection = function () {
    /// &lt;summary&gt;Convert string collection to object list&lt;/summary&gt;
    var arr = this.split("="),
            coll = {},
            _tempVal;

    //no data was found
    if (arr.length &lt; 2)
        return null;
    //only one key
    else if (arr.length === 2) {

        coll[arr[0]] = arr[1];
        console.log(coll);
        return coll;
    }

    //multy keys
    for (var i = 0; i &lt; arr.length; i++) {
        //first value always a key
        if (i === 0) {
            _tempVal = arr[i + 1];
            //get value (from last &amp; is a new key)
            coll[arr[i]] = _tempVal.substring(0, _tempVal.lastIndexOf("&amp;"));
        } else if (i === (arr.length - 1)) {
            //check last item (last item is always a value)
            coll[arr[i - 1].substring(arr[i - 1].lastIndexOf("&amp;") + 1, arr[i - 1].legnth)] = arr[i];
        }
        else {
            _tempVal = arr[i + 1];
            if (_tempVal) {
                coll[arr[i].substring(arr[i].lastIndexOf("&amp;") + 1, arr[i].legnth)] = _tempVal.substring(0, _tempVal.lastIndexOf("&amp;"));
            }
        }
    }
    return coll;
};
</pre>
</div>
<p>הקוד הנ”ל יודע לפצל ולזהות את הערכים ושמות של האובייקטים גם כאשר “&amp;” הוא חלק מה Value.</p>
<p>ועל מנת לסגור את כל הסיפור ישנה פונקציה אשר מחפשת את ה Value באובייקט:</p>
<div dir="ltr" align="left">
<pre class="brush: js;">function GetValueFromKey(key, collection) {
    /// &lt;summary&gt;Get value from collection&lt;/summary&gt;
    /// &lt;param name="key"&gt;key in collection&lt;/param&gt;
    /// &lt;param name="collection" type="object"&gt;Object Collection&lt;/param&gt;

    if (typeof (collection) !== 'object')
        return null;

    for (var j in collection) {
        if (collection.hasOwnProperty &amp;&amp; collection.hasOwnProperty(j))
            if (key === j)
                return collection[j];
    }
    return null;
};
</pre>
</div>
<p>ולשימוש:</p>
<div dir="ltr" align="left">
<pre class="brush: js;">var s = "key1=value1&amp;value11&amp;key2=value2"
o = s.toNameCollection();

var key1Value = GetValueFromKey("key1", o);
</pre>
</div>
<p>הערה חשובה:</p>
<p>אם ה Value של ה Cookie כולל סימן “=” הסקריפט לא יעבור תקין. <br />על מנת לפתור את הבעיה יש לקודד את ה Value:</p>
<div dir="ltr" align="left">
<pre class="brush: js;">encodeURIComponent(Value)
</pre>
</div>
<p>אשמח לקבל הצעת לשיפור ולייעול <img src="https://s.w.org/images/core/emoji/11/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.microsoft.co.il/arnold/2011/06/03/javascript-cookies-aspnet-cookie%d7%98%d7%99%d7%a4-%d7%9c%d7%97%d7%99%d7%99%d7%9d-%d7%a7%d7%9c%d7%99%d7%9d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>חברת One Vision מגייסת עובדים!</title>
		<link>http://blogs.microsoft.co.il/arnold/2011/06/03/%d7%97%d7%91%d7%a8%d7%aa-one-vision-%d7%9e%d7%92%d7%99%d7%99%d7%a1%d7%aa-%d7%a2%d7%95%d7%91%d7%93%d7%99%d7%9d/</link>
		<comments>http://blogs.microsoft.co.il/arnold/2011/06/03/%d7%97%d7%91%d7%a8%d7%aa-one-vision-%d7%9e%d7%92%d7%99%d7%99%d7%a1%d7%aa-%d7%a2%d7%95%d7%91%d7%93%d7%99%d7%9d/#respond</comments>
		<pubDate>Fri, 03 Jun 2011 10:27:22 +0000</pubDate>
		<dc:creator><![CDATA[Arnold]]></dc:creator>
				<category><![CDATA[offtopic]]></category>
		<category><![CDATA[One-v]]></category>

		<guid isPermaLink="false">http://blogs.microsoft.co.il/?p=839936</guid>
		<description><![CDATA[גולשים יקרים, אנחנו מחפשים תותחים בתחום הפיתוח בטכנולוגיות Asp.net&#160; MVC3&#160; ו Entity Framework 4 אשר ישתלבו בפיתוחים הקיימים והעתידיים בחברה.את הקורות חיים תוכלו לשלוח אלי לאימייל: arnold@one-v.co.il סוף!]]></description>
				<content:encoded><![CDATA[<div dir="rtl" align="right">
<table style="color: #000000" class="tableStandart" cellspacing="0">
<tbody>
<tr>
<td valign="top" align="right">גולשים יקרים, אנחנו מחפשים תותחים בתחום הפיתוח בטכנולוגיות Asp.net&nbsp; MVC3&nbsp; ו Entity Framework 4 אשר ישתלבו בפיתוחים הקיימים והעתידיים בחברה.<br />את הקורות חיים תוכלו לשלוח אלי לאימייל: <a href="mailto:arnold@one-v.co.il">arnold@one-v.co.il</a> </td>
<td class="thumbImg" valign="top"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="onev" border="0" alt="onev" src="http://blogs.microsoft.co.il/blogs/arnold/onev_1105E1A3.jpg" width="120" height="120"></td>
</tr>
</tbody>
</table>
</div>
<p> <span id="more-839936"></span> </p>
<div dir="rtl" align="right">
<h5>סוף!</h5>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blogs.microsoft.co.il/arnold/2011/06/03/%d7%97%d7%91%d7%a8%d7%aa-one-vision-%d7%9e%d7%92%d7%99%d7%99%d7%a1%d7%aa-%d7%a2%d7%95%d7%91%d7%93%d7%99%d7%9d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery Templates &#038; Facebook– שימוש קל ופשוט</title>
		<link>http://blogs.microsoft.co.il/arnold/2011/05/29/jquery-templates-amp-facebook-%d7%a9%d7%99%d7%9e%d7%95%d7%a9-%d7%a7%d7%9c-%d7%95%d7%a4%d7%a9%d7%95%d7%98/</link>
		<comments>http://blogs.microsoft.co.il/arnold/2011/05/29/jquery-templates-amp-facebook-%d7%a9%d7%99%d7%9e%d7%95%d7%a9-%d7%a7%d7%9c-%d7%95%d7%a4%d7%a9%d7%95%d7%98/#respond</comments>
		<pubDate>Sun, 29 May 2011 16:20:19 +0000</pubDate>
		<dc:creator><![CDATA[Arnold]]></dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[DEV]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Jquery]]></category>

		<guid isPermaLink="false">http://blogs.microsoft.co.il/?p=838482</guid>
		<description><![CDATA[jQuery Templates הפכו לחלק חשוב בחיי מפתח UI, בעזרתם ניתן לפתח עמודים אינטראקטיביים בעלי מנשק משתמש נוח (עדיין תלוי ברמה של המפתח).במאמר זה אדגים את השילוב של הפייסבוק עם ה templates. מה זה jQuery Templates? תקראו את המאמר הקודם שלי: לחצו כאן לעבודה!!! קודם כל נבדוק ב facebook api את הצורה של הבקשות שלנו: http://graph.facebook.com/arnold.simha/?callback=? [&#8230;]]]></description>
				<content:encoded><![CDATA[<div dir="rtl" align="right">
<table style="color: #000000" class="tableStandart" cellspacing="0">
<tbody>
<tr>
<td valign="top" align="right">jQuery Templates הפכו לחלק חשוב בחיי מפתח UI, בעזרתם ניתן לפתח עמודים אינטראקטיביים בעלי מנשק משתמש נוח (עדיין תלוי ברמה של המפתח).<br />במאמר זה אדגים את השילוב של הפייסבוק עם ה templates.</td>
<td class="thumbImg" valign="top"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="jQuery Templates &amp; Facebook&ndash; שימוש קל ופשוט" border="0" alt="jQuery Templates &amp; Facebook&ndash; שימוש קל ופשוט" src="http://blogs.microsoft.co.il/blogs/arnold/jqTemplates_5E43AA84.jpg" width="120" height="120"></td>
</tr>
</tbody>
</table>
</div>
<p> <span id="more-838482"></span> </p>
<div dir="rtl" align="right">
<h5>מה זה jQuery Templates?</h5>
<p>תקראו את המאמר הקודם שלי: <a href="http://blogs.microsoft.co.il/blogs/arnold/archive/2010/05/19/jquery-templates.aspx" target="_blank">לחצו כאן</a></p>
<h5>לעבודה!!!</h5>
<p>קודם כל נבדוק ב <a href="http://developers.facebook.com/docs/reference/api/" target="_blank">facebook api</a> את הצורה של הבקשות שלנו:</p>
<p><a href="http://graph.facebook.com/arnold.simha/?callback=?">http://graph.facebook.com/arnold.simha/?callback=?</a>  </p>
<p>כפי שניתן לראות שאני מבקש את המידע אותו הפרופיל שלי:</p>
<div dir="ltr" align="left">
<pre class="brush: js;">?({
   "id": "792563441",
   "name": "Arnold Simha",
   "first_name": "Arnold",
   "last_name": "Simha",
   "link": "http://www.facebook.com/arnold.simha",
   "username": "arnold.simha",
   "gender": "male",
   "locale": "en_US"
});
</pre>
</div>
<p>כעת נכין את ה HTML שלנו:</p>
<div dir="ltr" align="left">
<pre class="brush: xml;">&lt;div id="myCard"&gt;&lt;/div&gt;
</pre>
</div>
<p>עכשיו לחלק המעניין &#8211; ה template:</p>
<div dir="ltr" align="left">
<pre class="brush: xml;">&lt;script id="cardTemplate" type="text/x-jquery-tmpl"&gt;
    {{if thumbnail != "" }}
    &lt;div id="thumbnail"&gt;
        &lt;img src="${thumbnail}" alt="${name}" /&gt;
    &lt;/div&gt;
    {{/if}}
    &lt;div id="data"&gt;
         &lt;div class="row"&gt;
            &lt;label&gt;Id: &lt;/label&gt;${id}
        &lt;/div&gt;
        &lt;div class="row"&gt;
            &lt;label&gt;Name: &lt;/label&gt;&lt;a href="${link}"&gt;${name}&lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="row"&gt;
            &lt;label&gt;User Name: &lt;/label&gt;${username}
        &lt;/div&gt;
        &lt;div class="row"&gt;
            &lt;label&gt;Gender: &lt;/label&gt;${gender}
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/script&gt;
</pre>
</div>
<p>כפי שאתם רואים שהמשתנים הדינאמיים נכתבים בצורה כזאת:</p>
<div dir="ltr" align="left">
<pre class="brush: js;">${name}</pre>
</div>
<p>בנוסף יש לנו תנאי if אשר בודק אם יש תמונה אז הוא יציג אותה.</p>
<p>לאחר שסיימנו עם ה HTML הגיע זמן לכתוב קצת קוד:</p>
<div dir="ltr" align="left">
<pre class="brush: js;">&lt;script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.1.min.js"&gt;&lt;/script&gt;
&lt;script src="http://ajax.aspnetcdn.com/ajax/jquery.templates/beta1/jquery.tmpl.min.js" type="text/javascript"&gt;&lt;/script&gt;
&lt;script type="text/javascript"&gt;
    jQuery(function ($) {
        $.getJSON("http://graph.facebook.com/arnold.simha/?callback=?", function (data) {
            console.log(data);
        });
    });
&lt;/script&gt;
</pre>
</div>
<p>נריץ ונקבל את המידע:</p>
<p><a href="http://blogs.microsoft.co.il/blogs/arnold/image_3EB65C8A.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/arnold/image_thumb_43B89A39.png" width="460" height="144"></a></p>
<p>אין לנו את האלמנט של התמונה (thumbnail). הסיבה היא שהקישור לתמונה הוא:</p>
<div dir="ltr" align="left">
<pre class="brush: js;"><a href="https://graph.facebook.com/arnold.simha/picture">https://graph.facebook.com/arnold.simha/picture
</a></pre>
</div>
<p>נוסיף לאובייקט שלנו את האלמנט:</p>
<div dir="ltr" align="left">
<pre class="brush: js;">$.getJSON("http://graph.facebook.com/arnold.simha/?callback=?", function (data) {
    data.thumbnail = 'https://graph.facebook.com/arnold.simha/picture'
});
</pre>
</div>
<p>ודבר אחרון שנשאר זה לבנות את הטמפלט שלנו:</p>
<div dir="ltr" align="left">
<pre class="brush: js;">jQuery(function ($) {
    $.getJSON("http://graph.facebook.com/arnold.simha/?callback=?", function (data) {
        data.thumbnail = 'https://graph.facebook.com/arnold.simha/picture'
        $("#cardTemplate").tmpl(data).appendTo("#myCard");
    });
});
</pre>
</div>
<p>נריץ ונקבל:</p>
<p><a href="http://blogs.microsoft.co.il/blogs/arnold/image_45A5E942.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/arnold/image_thumb_38CB9324.png" width="231" height="167"></a></p>
<p>נשדרג את זה טיפה בעזרת CSS3:</p>
<div dir="ltr" align="left">
<pre class="brush: css;">&lt;style type="text/css"&gt;
    body { font-size:12px; font-family:Arial; margin:0px; padding:0px; }
    #myCard  
    {
        background: #ffffff; /* Old browsers */
        background: -moz-linear-gradient(top, #ffffff 0%, #e5e5e5 100%); /* FF3.6+ */
        background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#e5e5e5)); /* Chrome,Safari4+ */
        background: -webkit-linear-gradient(top, #ffffff 0%,#e5e5e5 100%); /* Chrome10+,Safari5.1+ */
        background: -o-linear-gradient(top, #ffffff 0%,#e5e5e5 100%); /* Opera11.10+ */
        background: -ms-linear-gradient(top, #ffffff 0%,#e5e5e5 100%); /* IE10+ */
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#e5e5e5',GradientType=0 ); /* IE6-9 */
        background: linear-gradient(top, #ffffff 0%,#e5e5e5 100%); /* W3C */
        
        -webkit-border-radius: 10px;
        -moz-border-radius: 10px;
        border-radius: 10px;
        padding:10px;
        border:1px solid #ccc;
        width:300px;
        margin:15px;
        overflow:hidden;
    }
    
    #thumbnail, #data { float:left; }
    #thumbnail { width:50px; text-align:left; margin-right:10px }
    #thumbnail img { border:1px solid #ccc; padding:2px; background-color:#fff; }
    .row label  
    {
        display:inline-block;
        *display:inline;
        *zoom:1;
        width:80px;
        font-weight:bold;
    }   
&lt;/style&gt;
</pre>
</div>
<p>ונקבל:</p>
<p><a href="http://blogs.microsoft.co.il/blogs/arnold/image_61F32B62.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/arnold/image_thumb_200C4614.png" width="344" height="115"></a></p>
<p>את הדמו תוכלו לראות כאן: <a href="http://one-v.co.il/blog/arnold/jqTemplates.html" target="_blank">לחץ כאן</a></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blogs.microsoft.co.il/arnold/2011/05/29/jquery-templates-amp-facebook-%d7%a9%d7%99%d7%9e%d7%95%d7%a9-%d7%a7%d7%9c-%d7%95%d7%a4%d7%a9%d7%95%d7%98/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Javascript &#8211; For –לא מה שחשבתם</title>
		<link>http://blogs.microsoft.co.il/arnold/2011/05/28/javascript-for-%d7%9c%d7%90-%d7%9e%d7%94-%d7%a9%d7%97%d7%a9%d7%91%d7%aa%d7%9d/</link>
		<comments>http://blogs.microsoft.co.il/arnold/2011/05/28/javascript-for-%d7%9c%d7%90-%d7%9e%d7%94-%d7%a9%d7%97%d7%a9%d7%91%d7%aa%d7%9d/#respond</comments>
		<pubDate>Sat, 28 May 2011 16:07:27 +0000</pubDate>
		<dc:creator><![CDATA[Arnold]]></dc:creator>
				<category><![CDATA[DEV]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Resources]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blogs.microsoft.co.il/?p=838254</guid>
		<description><![CDATA[תוכנתי NET. מכירים את הלולאה foreach אשר רצה על אוסף של אובייקטים ומטפלת בהם. ב JavaScript אנחנו משתמשים לרוב בלולאת for סטנדרטית (איפוס, תנאי, וביצוע). ב Javascript ישנה דרך נוספת לרשום את הלולאת for (בדומה ל foreach ב NET.), אך יש לה כמה צדדים מכוערים שעלינו להיזר מהם… לעבודה!!!! ניצור אובייקט פשוט: var me = [&#8230;]]]></description>
				<content:encoded><![CDATA[<div dir="rtl" align="right">
<table style="color: #000000" dir="ltr" class="tableStandart" cellspacing="0">
<tbody>
<tr>
<td dir="rtl" valign="top" width="100%" align="right">תוכנתי NET. מכירים את הלולאה foreach אשר רצה על אוסף של אובייקטים ומטפלת בהם.            <br />ב JavaScript אנחנו משתמשים לרוב בלולאת for סטנדרטית (איפוס, תנאי, וביצוע). ב Javascript ישנה דרך נוספת לרשום את הלולאת for (בדומה ל foreach ב NET.), אך יש לה כמה צדדים מכוערים שעלינו להיזר מהם…</td>
<td class="thumbImg" valign="top"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Javascript - For –לא מה שחשבתם" border="0" alt="Javascript - For –לא מה שחשבתם" src="http://blogs.microsoft.co.il/blogs/arnold/for_572E1BF4.jpg" width="120" height="120" /></td>
</tr>
</tbody>
</table></div>
<p>  <span id="more-838254"></span>  </p>
<div dir="rtl" align="right">
<h5>לעבודה!!!!</h5>
<p>ניצור אובייקט פשוט:</p>
<div dir="ltr" align="left">
<pre class="brush: js;">var me = {
    name: &quot;Arnold&quot;,
    lastName: &quot;Simha&quot;
}</pre>
</p></div>
<p>נכתוב לולאת for אשר רצה על האובייקט ומציגה את התוכן שלו:</p>
<div dir="ltr" align="left">
<pre class="brush: js;">for (var i in me) {
    console.log(i + &quot;:&quot; + me[i])
}</pre>
</p></div>
<p>נקבל את:</p>
<p><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Javascript - For –לא מה שחשבתם" border="0" alt="Javascript - For –לא מה שחשבתם" src="http://blogs.microsoft.co.il/blogs/arnold/image_3489DD79.png" width="265" height="108" /></p>
<p>עד לפה הכל טוב ויפה.<br />
    <br />נגיד והכנו האפליקציה ענקית וכתבנו כמה <a href="http://www.javascriptkit.com/javatutors/proto.shtml" target="_blank">prototypes</a>, לדוגמא:</p>
<div dir="ltr" align="left">
<pre class="brush: js;">Object.prototype.fullName = function () {
    return me.Name + &quot; &quot; + me.lastName;
};</pre>
</p></div>
<p>אם נריץ עכשיו את אותה ללואה נקבל:</p>
<p><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Javascript - For –לא מה שחשבתם" border="0" alt="Javascript - For –לא מה שחשבתם" src="http://blogs.microsoft.co.il/blogs/arnold/image_326CDEB0.png" width="295" height="157" /></p>
<p>כפי שניתן לראות גם&#160; prototype שכתבנו נכלל ברשימה למרות שהוא לא קיים ב me. </p>
<h5>מדוע זה קורה?</h5>
<p>מכיוון ש-me הוא מסוג Object אז כל ההגדרות של האובייקט משותפות לו.</p>
<p>אל דאגה, ישנה דרך די פשוטה לפתור את הסוגיה והיא להשתמש ב “hasOwnProperty”:</p>
<div dir="ltr" align="left">
<pre class="brush: js;">for (var i in me) {
    if (me.hasOwnProperty &amp;&amp; me.hasOwnProperty(i)) {
        console.log(i + &quot;:&quot; + me[i])
    }
}</pre>
</p></div>
<p>נריץ שוב ונקבל את התוצאה הרצויה:</p>
<p><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Javascript - For –לא מה שחשבתם" border="0" alt="Javascript - For –לא מה שחשבתם" src="http://blogs.microsoft.co.il/blogs/arnold/image_299CD664.png" width="265" height="108" /></p>
<h5>מה קרה פה???</h5>
<p><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/hasOwnProperty" target="_blank">hasOwnProperty</a> בודק אם ה property קיים בתוך האובייקט שעליו אנחנו רצים (מחזיר true או false). </p>
<p>בצורה כזאת חסכנו לעצמנו המון כאב ראש ובלגן.</p>
<h5>סוף!</h5>
<p>הנכם מוזמנים להגיב, לשאול ולשתף <img src="https://s.w.org/images/core/emoji/11/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blogs.microsoft.co.il/arnold/2011/05/28/javascript-for-%d7%9c%d7%90-%d7%9e%d7%94-%d7%a9%d7%97%d7%a9%d7%91%d7%aa%d7%9d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sammy Js &#8211; RESTful Evented JavaScript</title>
		<link>http://blogs.microsoft.co.il/arnold/2011/05/25/sammy-js-restful-evented-javascript/</link>
		<comments>http://blogs.microsoft.co.il/arnold/2011/05/25/sammy-js-restful-evented-javascript/#respond</comments>
		<pubDate>Wed, 25 May 2011 18:01:00 +0000</pubDate>
		<dc:creator><![CDATA[Arnold]]></dc:creator>
				<category><![CDATA[DEV]]></category>
		<category><![CDATA[Firebug]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Jquery]]></category>
		<category><![CDATA[Resources]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blogs.microsoft.co.il/?p=837539</guid>
		<description><![CDATA[בעידן של Web 2.0 (עוד מעט Web 3 🙂 ) פיתוח אפליקציות קפץ כמה שלבים קדימה. כיום אין כמעט אתר אשר לא משתמש בטכנולוגיית ajax. נניח ואתם רוצים להקים אפליקציה קטנה, Gmail למשל, ובזמן פיתוח לשפר את חווית שימוש ולבטל בכלל ריענוני עמודים, אז Sammy Js הוא הכלי בשבילכם הקדמה Gmail מאפשר לנו לדפדף בין [&#8230;]]]></description>
				<content:encoded><![CDATA[<div dir="rtl" align="right">
<table style="color: #000000" class="tableStandart" cellspacing="0">
<tbody>
<tr>
<td valign="top" align="right">בעידן של Web 2.0 (עוד מעט Web 3 <img src="https://s.w.org/images/core/emoji/11/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> ) פיתוח אפליקציות קפץ כמה שלבים קדימה.            <br />כיום אין כמעט אתר אשר לא משתמש בטכנולוגיית ajax.             <br />נניח ואתם רוצים להקים אפליקציה קטנה, Gmail למשל, ובזמן פיתוח לשפר את חווית שימוש ולבטל בכלל ריענוני עמודים, אז Sammy Js הוא הכלי בשבילכם</td>
<td class="thumbImg" valign="top"><a href="http://blogs.microsoft.co.il/blogs/arnold/sammyjs_2E84B581.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="sammyjs" border="0" alt="sammyjs" src="http://blogs.microsoft.co.il/blogs/arnold/sammyjs_thumb_13D81968.jpg" width="120" height="120" /></a></td>
</tr>
</tbody>
</table></div>
<p>  <span id="more-837539"></span>  </p>
<div dir="rtl" align="right">
<h5>הקדמה</h5>
<p>Gmail מאפשר לנו לדפדף בין האזורים במערכת שלהם ללא ריענון באתר. אם נתבונן בקישור נראה כי גוגל משתמשת ב anchor:</p>
<p><a href="http://blogs.microsoft.co.il/blogs/arnold/g1_792B7D4E.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="g1" border="0" alt="g1" src="http://blogs.microsoft.co.il/blogs/arnold/g1_thumb_621CFC12.png" width="512" height="59" /></a></p>
<p>ספריית <a href="http://sammyjs.org/" target="_blank">Sammy Js</a> עוקבת אחרי הקישור שלנו ובהתאם להגדרות שנגדיר היא מבצעת את הפעולה.</p>
<p>נגדיר את ההגדרות הבסיסיות לאפליקציה:</p>
<div dir="ltr" align="left">
<pre class="brush: js;">&lt;script src=&quot;http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.1.min.js&quot;&gt;&lt;/script&gt;   
&lt;script src=&quot;https://github.com/quirkey/sammy/raw/master/lib/min/sammy-latest.min.js&quot;&gt;&lt;/script&gt;
    &lt;script&gt;
jQuery(function ($) {
    var app = $.sammy(function () {
        this.get('#/', function (context) {
            console.log(&quot;start page&quot;);
        })
    }).run('#/')
});
    &lt;/script&gt;</pre>
</p></div>
<p>אם נריץ את האפליקציה נקבל את:</p>
<p><a href="http://blogs.microsoft.co.il/blogs/arnold/image_74F17FBC.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/arnold/image_thumb_524D4141.png" width="620" height="473" /></a></p>
<p>כפי שאתם יכולים לראות ברגע שהעמוד שלנו עלה, התווסף לנו “#/” לקישור.</p>
<p>הספרייה מראה לנו גם מה ה route שהופעל (ניתן לראות זאת ב fire bug).</p>
<h5>ניקח את זה כמה שלבים קדימה</h5>
<p>נכין עמוד HTML:</p>
<div dir="ltr" align="left">
<pre class="brush: xml;">&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;#/&quot;&gt;home&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;#/About&quot;&gt;about&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;#/Article/1&quot;&gt;Artile 1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;div id=&quot;home&quot; class=&quot;page&quot;&gt;home&lt;/div&gt;
&lt;div id=&quot;about&quot; class=&quot;page&quot;&gt;about&lt;/div&gt;
&lt;div id=&quot;article&quot; class=&quot;page&quot;&gt;article &lt;span id=&quot;num&quot;&gt;&lt;/span&gt;&lt;/div&gt;</pre>
</p></div>
<p>לאחר שהכנו את ה HTML שלנו בואו נגדיר את הניתוב באפליקציה:</p>
<div dir="ltr" align="left">
<pre class="brush: js;">var app = $.sammy(function () {
    this.get('#/', function (context) {
        $(&quot;div&quot;).hide();
        $(&quot;#home&quot;).show();
    });

    this.get('#/About', function (context) {
        $(&quot;div&quot;).hide();
        $(&quot;#about&quot;).show();
    });
}).run('#/')</pre>
</p></div>
<p>נריץ ונראה שהאפליקציה מציגה את ה DIV הרצוי (כמובן שזאת דוגמא מאוד בסיסית)</p>
<p>קישור 3 מכיל נתיב למאמר מספר 1 (נגיד ויש לי כמה מאמרים שונים שנטענים ב ajax).</p>
<p>נגדיר את הניתוב למאמר (ניתוב דינאמי):</p>
<div dir="ltr" align="left">
<pre class="brush: js;">this.get('#/Article/:Id', function () {
    $(&quot;div&quot;).hide();
    $(&quot;#article&quot;).show();
    $(&quot;#num&quot;).text(this.params[&quot;Id&quot;])
});</pre>
</p></div>
<p>תשימו לב כי לאחר Article אני מעביר פרמטר שנקרא Id ובעזרת </p>
<div dir="ltr" align="left">
<pre class="brush: js;">this.params[&quot;Id&quot;]</pre>
</p></div>
<p>אני שולף את הנתון המועבר (1 במקרה שלנו) ומכניס אותו לspan בשם num.</p>
<p>אתם יכולים לראות את האפליקציה המלאה כאן:</p>
<p><a href="http://blogs.microsoft.co.il/blogs/arnold/Demos/sammyjs/sammyjs.html">http://blogs.microsoft.co.il/blogs/arnold/Demos/sammyjs/sammyjs.html</a></p>
<p>במאמרים הבאים אציג לכם שימוש יותר מתקדם בספריה</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blogs.microsoft.co.il/arnold/2011/05/25/sammy-js-restful-evented-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>קיצורי דרך ב JavaScript– כן בבית סיפרנו</title>
		<link>http://blogs.microsoft.co.il/arnold/2011/05/23/%d7%a7%d7%99%d7%a6%d7%95%d7%a8%d7%99-%d7%93%d7%a8%d7%9a-%d7%91-javascript-%d7%9b%d7%9f-%d7%91%d7%91%d7%99%d7%aa-%d7%a1%d7%99%d7%a4%d7%a8%d7%a0%d7%95/</link>
		<comments>http://blogs.microsoft.co.il/arnold/2011/05/23/%d7%a7%d7%99%d7%a6%d7%95%d7%a8%d7%99-%d7%93%d7%a8%d7%9a-%d7%91-javascript-%d7%9b%d7%9f-%d7%91%d7%91%d7%99%d7%aa-%d7%a1%d7%99%d7%a4%d7%a8%d7%a0%d7%95/#respond</comments>
		<pubDate>Mon, 23 May 2011 21:37:06 +0000</pubDate>
		<dc:creator><![CDATA[Arnold]]></dc:creator>
				<category><![CDATA[DEV]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Jquery]]></category>
		<category><![CDATA[Resources]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blogs.microsoft.co.il/?p=837131</guid>
		<description><![CDATA[קיצורי דרך טובים הם המפתח לכתיבת קוד איכותי אשר יכול לחסוך לנו סתם שורות מיותרות או קוד מיותר. במאמר זה אציג כמה טיפים לכתיבת תנאים בצורה קצרה יותר נתחיל הקוד שאנו רושמים הכי הרבה פעמים הוא if else (לפחות לדעתי). הצורה הרגילה היא var data; if (&#34;moshe&#34; === &#34;haim&#34;) { data = &#34;what???&#34;; } else [&#8230;]]]></description>
				<content:encoded><![CDATA[<div dir="rtl" align="right">
<table style="color: #000000" dir="ltr" class="tableStandart" cellspacing="0">
<tbody>
<tr>
<td dir="rtl" valign="top" width="100%" align="right">קיצורי דרך טובים הם המפתח לכתיבת קוד איכותי אשר יכול לחסוך לנו סתם שורות מיותרות או קוד מיותר. במאמר זה אציג כמה טיפים לכתיבת תנאים בצורה קצרה יותר</td>
<td class="thumbImg" valign="top"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="קיצורי דרך ב JavaScript– כן בבית סיפרנו" border="0" alt="קיצורי דרך ב JavaScript– כן בבית סיפרנו" src="http://blogs.microsoft.co.il/blogs/arnold/jsShort_17035DA1.jpg" width="120" height="120" /></td>
</tr>
</tbody>
</table></div>
<p>  <span id="more-837131"></span>  </p>
<div dir="rtl" align="right">
<h5>נתחיל</h5>
<p>הקוד שאנו רושמים הכי הרבה פעמים הוא if else (לפחות לדעתי). הצורה הרגילה היא</p>
<div dir="ltr" align="left">
<pre class="brush: js;">var data;
if (&quot;moshe&quot; === &quot;haim&quot;) {
    data = &quot;what???&quot;;
} else {
    data = &quot;ok&quot;;
}
alert(data);</pre>
</p></div>
<p>כמובן שהיינו יכולים לרשום את זה בשורה אחת עם התנאים. הדרך הקצרה יותר היא:</p>
<div dir="ltr" align="left">
<pre class="brush: js;">var data = (&quot;moshe&quot; === &quot;haim&quot;) ?  &quot;what???&quot; : &quot;ok&quot;;
alert(data);</pre>
</p></div>
<p>אם משה שווה לחיים אז נחזיר מהתאים, אחרי “?” את התשובה ואם לא (“:”) אז נחזיר OK</p>
<h5>דוגמא נוספת</h5>
<p>נגיד ואנחנו צריכים לבדוק אם האובייקט שונה מ NULL, אם כן אז נזין ערך אחר.</p>
<p>בכתיבה הרגילה זה יראה כך:</p>
<div dir="ltr" align="left">
<pre class="brush: js;">var data = null;
if (!data) {
    data = &quot;not null&quot;;
}
alert(data);</pre>
</p></div>
<p>ובשיטה מקוצרת:</p>
<div dir="ltr" align="left">
<pre class="brush: js;">var data = null;
var newData = data || &quot;not null&quot;;
alert(newData);</pre>
</p></div>
<p>אם ה data הוא null אז תקח את המידע מהצד הימני של “||” אם לא קח את ה data.</p>
<p>ב #C פשוט במקום “||” נרשום “??”.</p>
<h5>דוגמא משולבת</h5>
<p>באפליקציות גדולות קיצורי דרך הללו יחסכו לכם הרבה שורות קוד. לדוגמא:</p>
<div dir="ltr" align="left">
<pre class="brush: js;">if (data2 !== &quot;cool&quot;) {
    if (data !== null) {
        newData = &quot;bad&quot;;
    } else {
        newData = &quot;good&quot;;
    }
} else {
    newData = data2; 
}</pre>
</p></div>
<p>ובשיטה מקוצרת נכתוב את זה כך:</p>
<div dir="ltr" align="left">
<pre class="brush: js;">newData = (data2 !== &quot;cool&quot;)
              ? data || &quot;good&quot;
              : data2;

alert(newData);</pre>
</p></div>
<p>פשוט לא?</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blogs.microsoft.co.il/arnold/2011/05/23/%d7%a7%d7%99%d7%a6%d7%95%d7%a8%d7%99-%d7%93%d7%a8%d7%9a-%d7%91-javascript-%d7%9b%d7%9f-%d7%91%d7%91%d7%99%d7%aa-%d7%a1%d7%99%d7%a4%d7%a8%d7%a0%d7%95/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>תוסף דפדפנים ל Visual Studio 2010</title>
		<link>http://blogs.microsoft.co.il/arnold/2011/05/16/%d7%aa%d7%95%d7%a1%d7%a3-%d7%93%d7%a4%d7%93%d7%a4%d7%a0%d7%99%d7%9d-%d7%9c-visual-studio-2010/</link>
		<comments>http://blogs.microsoft.co.il/arnold/2011/05/16/%d7%aa%d7%95%d7%a1%d7%a3-%d7%93%d7%a4%d7%93%d7%a4%d7%a0%d7%99%d7%9d-%d7%9c-visual-studio-2010/#comments</comments>
		<pubDate>Mon, 16 May 2011 17:48:05 +0000</pubDate>
		<dc:creator><![CDATA[Arnold]]></dc:creator>
				<category><![CDATA[DEV]]></category>
		<category><![CDATA[Resources]]></category>
		<category><![CDATA[Visual Studio 2010]]></category>

		<guid isPermaLink="false">http://blogs.microsoft.co.il/?p=835688</guid>
		<description><![CDATA[כיום, כשמפתחים אפליקציות WEB נוהגים לבדוק את האפליקציה בכמה דפדפנים שונים (לפחות אני עושה כך). Visual Studio בוחר את הדפדפן ברירת מחדל לפי הגדרות במחשב שלנו. במידה ונרצה לשנות את זה נצטרף לבצע כמה פעולות קטנות ב Web Site Application, אך במידה ואנחנו עובדים עם Web Projects&#160; כגון: MVC, שינוי דפדפנים יכול להיות תהליך מייגע&#8230;תוסף [&#8230;]]]></description>
				<content:encoded><![CDATA[<div dir="rtl" align="right">
<table style="color: #000000" class="tableStandart" cellspacing="0">
<tbody>
<tr>
<td valign="top" align="right">כיום, כשמפתחים אפליקציות WEB נוהגים לבדוק את האפליקציה בכמה דפדפנים שונים (לפחות אני עושה כך). <br />Visual Studio בוחר את הדפדפן ברירת מחדל לפי הגדרות במחשב שלנו. במידה ונרצה לשנות את זה נצטרף לבצע כמה פעולות קטנות ב Web Site Application, אך במידה ואנחנו עובדים עם Web Projects&nbsp; כגון: MVC, שינוי דפדפנים יכול להיות תהליך מייגע&#8230;<br />תוסף הבא מאפשר לכם לבחור את דפדפן ברירת מחדל בקלות!<br />למידע נוסף היכנסו לפה:<br /><a title="תוסף דפדפנים ל Visual Studio 2010" href="http://visualstudiogallery.msdn.microsoft.com/bb424812-f742-41ef-974a-cdac607df921/" target="_blank">http://visualstudiogallery.msdn.microsoft.com/bb424812-f742-41ef-974a-cdac607df921/</a>&nbsp;</td>
<td class="thumbImg" valign="top"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="תוסף דפדפנים ל Visual Studio 2010" border="0" alt="תוסף דפדפנים ל Visual Studio 2010" src="http://blogs.microsoft.co.il/blogs/arnold/vsT_389AB906.jpg" width="120" height="120"></td>
</tr>
</tbody>
</table>
</div>
<p> <span id="more-835688"></span> </p>
<div dir="rtl" align="right">
<h5>סוף!</h5>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blogs.microsoft.co.il/arnold/2011/05/16/%d7%aa%d7%95%d7%a1%d7%a3-%d7%93%d7%a4%d7%93%d7%a4%d7%a0%d7%99%d7%9d-%d7%9c-visual-studio-2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>“==” או “===” מתי ומה ההבדל</title>
		<link>http://blogs.microsoft.co.il/arnold/2011/05/15/%d7%90%d7%95-%d7%9e%d7%aa%d7%99-%d7%95%d7%9e%d7%94-%d7%94%d7%94%d7%91%d7%93%d7%9c/</link>
		<comments>http://blogs.microsoft.co.il/arnold/2011/05/15/%d7%90%d7%95-%d7%9e%d7%aa%d7%99-%d7%95%d7%9e%d7%94-%d7%94%d7%94%d7%91%d7%93%d7%9c/#respond</comments>
		<pubDate>Sun, 15 May 2011 10:57:14 +0000</pubDate>
		<dc:creator><![CDATA[Arnold]]></dc:creator>
				<category><![CDATA[DEV]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Resources]]></category>

		<guid isPermaLink="false">http://blogs.microsoft.co.il/?p=835375</guid>
		<description><![CDATA[Javascript, Javascript, Javascript (תגידו את זה מהר 3 פעמים), שפה מגניבה אבל קצת מוזרה, במיוחד למפתחי #C. ב #C על מנת להשוואות שתי פרמטרים, אנו משתמשים בסימן “==”, הגיוני, לא? לעומת זאת ב Javascript ההשוואה הזאת תיתן לנו כמה תוצאות מפתיעות. נקח כמה דוגמאות console.log(null == undefined); //true console.log(true == '1'); //true console.log(0 == ''); [&#8230;]]]></description>
				<content:encoded><![CDATA[<div dir="rtl" align="right">
<table style="color: #333" dir="ltr" class="tableStandart" cellspacing="0">
<tbody>
<tr>
<td dir="rtl" valign="top" width="100%" align="right">Javascript, Javascript, Javascript (תגידו את זה מהר 3 פעמים), שפה מגניבה אבל קצת מוזרה, במיוחד למפתחי #C.            <br />ב #C על מנת להשוואות שתי פרמטרים, אנו משתמשים בסימן “==”, הגיוני, לא? לעומת זאת ב Javascript ההשוואה הזאת תיתן לנו כמה תוצאות מפתיעות.</td>
<td class="thumbImg" valign="top"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="vs" border="0" alt="vs" src="http://blogs.microsoft.co.il/blogs/arnold/vs_20A3DA5F.jpg" width="120" height="120" /></td>
</tr>
</tbody>
</table></div>
<p>  <span id="more-835375"></span>  </p>
<div dir="rtl" align="right">
<h5>נקח כמה דוגמאות</h5>
<div dir="ltr" align="left">
<pre class="brush: js;">console.log(null == undefined);     //true
console.log(true == '1');           //true
console.log(0 == '');               //true</pre>
</p></div>
<p>איך דבר כזה הגיוני???? 0== ‘’?? ממתי??? למה?</p>
<p>מה שבאמת קורה הוא שמנוע js הופך את הפרמטרים למצבים של true/false ומשווה.</p>
<p>על מנת למנוע את המקרים הללו אנחנו נשתמש ב “===”:</p>
<div dir="ltr" align="left">
<pre class="brush: js;">console.log(null === undefined);     //false
console.log(true === '1');           //false
console.log(0 === '');               //false</pre>
</p></div>
<p>סימן “===” הוא לא רק משווה את הפרמטרים אלה גם משווה את הסוגים.</p>
<h5>בוא נכתוב Javascript טוב יותר</h5>
<p>במהלך השבועות הקרובים אני אכין מאמרים נוספים אשר ינסו לעזור לכם בכתיבת קוד טוב <img src="https://s.w.org/images/core/emoji/11/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blogs.microsoft.co.il/arnold/2011/05/15/%d7%90%d7%95-%d7%9e%d7%aa%d7%99-%d7%95%d7%9e%d7%94-%d7%94%d7%94%d7%91%d7%93%d7%9c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
