SlideShare a Scribd company logo
‫אחסון מידע ב-5‪HTML‬‬



          ‫רן בר-זיק‬
‫מפתח ‪ PHP‬בחברת ‪HP Software‬‬

    ‫אתר אינטרנט ישראל‬
   ‫‪www.internet-israel.com‬‬
‫שיטות קיימות לאיחסון מידע‬
                ‫• עוגיות מבוססות דפדפן‬
‫ניהול המידע נעשה באמצעות ‪JavaScript‬‬
                   ‫‪document.cookie‬‬
                ‫• עוגיות מבוססות פלאש‬
‫ניהול המידע נעשה באמצעות ‪JavaScript‬‬
                   ‫המתממשק לפלאש‬
‫חסרונות העוגיות‬
          ‫בעוגיה מבוססת ‪:JavaScript‬‬
     ‫1. מקום מוגבל לארבעה קילובייט.‬
               ‫2. קושי בניהול הנתונים.‬

              ‫בעוגיה מבוססת פלאש:‬
‫1. לא ניתן להסתמך על כך שיהיה פלאש‬
                      ‫בכל מכשיר.‬
‫‪localStorage‬‬

‫אחסון בפורמט ‪key=>value‬‬      ‫•‬
             ‫‪ API‬נוח ופשוט‬   ‫•‬
         ‫אחסון של עד 5 ‪Mb‬‬    ‫•‬
   ‫מימוש זהה בכל הדפדפנים‬    ‫•‬
‫נתמך באינטרנט אקספלורר 8‬     ‫•‬
localStorage – API
                            :‫אחסון נתונים‬
localStorage.setItem('KEY', 'VALUE');
                              :‫שליפת נתון‬
var value = localStorage.getItem('KEY');
                              :‫מחיקת נתון‬
localStorage.clear('KEY');
                       :‫מחיקת כל הנתונים‬
localStorage.clear();
localStorage – Chrome
        Debugging
localStorage – FireFox
      Debugging
‫‪SessionStorage‬‬
     ‫אחסון בפורמט ‪key=>value‬‬     ‫•‬
                 ‫‪ API‬נוח ופשוט‬   ‫•‬
             ‫אחסון של עד 5 ‪Mb‬‬    ‫•‬
       ‫מימוש זהה בכל הדפדפנים‬    ‫•‬
    ‫נתמך באינטרנט אקספלורר 8‬     ‫•‬
‫מבחינה חוקית – לא נחשב כעוגיה‬    ‫•‬
sessionStorage – API
                            :‫אחסון נתונים‬
sessionStorage.setItem('KEY', 'VALUE');
                              :‫שליפת נתון‬
var value =
sessionStorage.getItem('KEY');
                              :‫מחיקת נתון‬
sessionStorage.clear('KEY');
                       :‫מחיקת כל הנתונים‬
sessionStorage.clear();
sessionStorage - chrome
       Debugging
sessionStorage - FireFox
       debugging
‫‪Session vs Local‬‬
     ‫המאוחסנים ב-‪localSorage‬‬      ‫• הנתונים‬
         ‫גם לאחר סגירת החלון.‬     ‫נשמרים‬
 ‫הם חד חד ערכיים לכל דומיין.‬      ‫הנתונים‬
‫המאוחסנים ב-‪sessionStorage‬‬        ‫• הנתונים‬
            ‫רק לאורך חיי החלון.‬   ‫נשמרים‬
   ‫הם חד חד ערכיים לכל חלון.‬      ‫הנתונים‬
‫‪Application Cache‬‬
‫• נתמך בפיירפוקס, כרום, אופרה, ספארי‬
              ‫ואינטרנט אקספלורר 01.‬
 ‫• דפדפנים שלא תומכים ב- ‪Application‬‬
         ‫‪ cache‬פשוט מתעלמים ממנו.‬
‫מה ‪ AppCache‬מאפשר לנו?‬
        ‫חיסכון ברוחב פס ומשאבי שרת.‬     ‫•‬
              ‫חווית משתמש טובה יותר.‬    ‫•‬
  ‫מתן אפשרות לגולש לעבוד ללא חיבור‬      ‫•‬
                            ‫לאינטרנט.‬
‫אפשרות להגדיר דפים שיש צורך בחיבור‬      ‫•‬
                       ‫אינטרנט עבורם.‬
           ‫אפשרות להגדרת ‪fallbacks‬‬      ‫•‬
‫הגדרת ה-‪ MIME‬של ‪App Cache‬‬
‫• כל קובץ עם סיומת ‪ appcache‬צריך להיות‬
        ‫מוגש עם ‪ MIME type‬ששמו הוא:‬
                 ‫‪text/cache-manifest‬‬
 ‫• יש צורך בשינוי ההגדרות בשרת שנעשות‬
   ‫בהתאם למערכת ההפעלה של השרת.‬
LinuxApache-‫ ב‬Mime-‫הגדרת ה‬
                mod_rewrite ‫ שיש בהם‬Apache ‫בשרתי‬          •
                                          :‫הוספת השורה‬
           AddType text/cache-manifest appcache
          .‫ של האפליקציה‬root-‫ שנמצא ב‬htaccess-‫אל קובץ ה‬

                mod_rewrite ‫ שאין בהם‬Apache ‫בשרתי‬         •
                                          :‫הוספת השורה‬
                 text/cache-manifest       appcache;
                                                   :‫אל‬
           /user/local/etc/httpd/conf/mime.types

                   :‫ מוסיפים את השורה אל‬nginx ‫בשרתי‬       •
                             /etc/nginx/mime.types
IIS7-‫ ב‬MIME type-‫הגדרת ה‬
  :IIS Manager-‫ ב‬MIME type ‫• איתור‬
'‫ –ב‬IIS7-‫ ב‬MIME type ‫הגדרת‬
cURL ‫ עם‬MIME Type ‫בדיקת‬
HTML-‫ לדף ה‬appcache ‫קישור בין‬
<!DOCTYPE html>
<html lang="en" manifest="/my.appcache">
 // your html document
</html>
‫שלושת חלקי ה-‪appcache‬‬
                              ‫• ‪:CACHE‬‬
‫הדפים שאנו מורים לדפדפן לטעון לתוך ה-‬
                                ‫‪.cache‬‬
                          ‫• ‪:FALLBACK‬‬
‫דפים שאנו מורים לדפדפן להגיש למשתמש‬
    ‫במידה והוא מנסה לגשת למשאבים לא‬
     ‫קיימים כאשר הוא מנותק מהאינטרנט.‬
                          ‫• ‪:NETWORK‬‬
   ‫דפים שאנו מורים לדפדפן לא לשמור ב-‬
                         ‫‪ cache‬לעולם.‬
CACHE MANIFEST
                      appcache ‫קובץ‬
# cache version 1.2

# This is a comment

CACHE:
/css/some.css
/css/some_offline.css
/js/some_screen.js
/img/logo.png
http://example.com/css/styles.css

FALLBACK:
/ /offline.html

NETWORK:
login.php
update.php
‫יש דפדפנים שמבקשים אישור‬
 ‫מהמשתמש על ‪appcache‬‬
‫דיבוג של ‪appcache‬‬
     ‫בכרום‬
‫‪WEB SQL‬‬
                 ‫• התבסס על ‪SQLite‬‬
          ‫• נתמך על ידי ספארי וכרום.‬
‫• ‪ W3C‬הודיעה רשמית על עצירת גיבוש‬
                             ‫התקן.‬
‫‪IndexedDB‬‬
    ‫מסתמן כפתרון המועדף להצבת מסדי‬       ‫•‬
                      ‫נתונים בצד הלקוח‬
 ‫נתמך כרגע ב-‪ FireFox, Chrome‬ו-01‪.IE‬‬     ‫•‬
      ‫סביר להניח שבעתיד ייתמך באופרה‬
                              ‫ובספארי.‬
                    ‫‪Very low level API‬‬   ‫•‬
   ‫מסד נתונים מונחה עצמים (שונה ממסד‬     ‫•‬
‫הנתונים הרלוציוני המוכר לרוב המפתחים).‬
 ‫התקן והאימפלמנטציה מאד לא מגובשים.‬      ‫•‬
‫יצירת מסד נתונים‬
          ‫בדיקת דפדפן ומימוש‬
var indexedDB = window.indexedDB ||
window.webkitIndexedDB || window.mozIndexedDB;

if ('webkitIndexedDB' in window) {
       window.IDBTransaction =
window.webkitIDBTransaction;
       window.IDBKeyRange =
window.webkitIDBKeyRange;
}
‫יצירה והתחברות למסד נתונים‬
                                                       :‫התחברות‬
var request = indexedDB.open('MyTestDatabase');
                                                  :callback ‫יצירת‬
request.onsuccess = function(event){}
                                              :‫יצירת אובייקט מידע‬
var db = event.target.result;
             var request = db.setVersion('1.2');
             request.onsuccess = function(event){
                     console.log("Success version.");
             if(!db.objectStoreNames.contains('family')){
                     console.log("Creating objectStore");
                     db.createObjectStore('family');
             }
‫יצירת טרנזקציה ראשונית‬
var transaction = db.transaction([],
                IDBTransaction.READ_WRITE,
2000);
            transaction.oncomplete = function(){
                  console.log("Success
transaction");
           };
‫הכנסת מידע‬
var objectStore =
transaction.objectStore('family');
objectStore.put('something').onsuccess =
function(event) {
     console.log("Saved record with id " +
event.result);


                                }
‫דוגמאות חיות‬
‫• דוגמאות וסקריפטים רלוונטיים יפורסמו‬
               ‫באתר אינטרנט ישראל:‬
          ‫‪www.internet-israel.com‬‬

                           ‫תודה רבה!‬

More Related Content

Viewers also liked (14)

PPTX
Web Technologies
Lior Zamir
 
PDF
SQL - שפת הגדרת הנתונים
מורן אלקובי
 
PPT
בניית אתרים שיעור ראשון
alechko.name
 
PDF
SQL - מודל ישויות קשרים
מורן אלקובי
 
PDF
5 P&C underwriting metrics to increase profitability
Grant Thornton LLP
 
PPT
Asp.net
RachelAllon
 
PDF
SQL - מודל הנתונים
מורן אלקובי
 
PPTX
ASP.NET Web API
habib_786
 
PPTX
The ASP.NET Web API for Beginners
Kevin Hazzard
 
PPTX
ASP.NET WEB API
Thang Chung
 
PPTX
ASP.NET Mvc 4 web api
Tiago Knoch
 
PPTX
ASP.NET Web API and HTTP Fundamentals
Ido Flatow
 
PDF
C# ASP.NET WEB API APPLICATION DEVELOPMENT
Dr. Awase Khirni Syed
 
PPS
LA CREACIÓ vista per nens i nenes de 3r de Primària
guest8a9b56
 
Web Technologies
Lior Zamir
 
SQL - שפת הגדרת הנתונים
מורן אלקובי
 
בניית אתרים שיעור ראשון
alechko.name
 
SQL - מודל ישויות קשרים
מורן אלקובי
 
5 P&C underwriting metrics to increase profitability
Grant Thornton LLP
 
Asp.net
RachelAllon
 
SQL - מודל הנתונים
מורן אלקובי
 
ASP.NET Web API
habib_786
 
The ASP.NET Web API for Beginners
Kevin Hazzard
 
ASP.NET WEB API
Thang Chung
 
ASP.NET Mvc 4 web api
Tiago Knoch
 
ASP.NET Web API and HTTP Fundamentals
Ido Flatow
 
C# ASP.NET WEB API APPLICATION DEVELOPMENT
Dr. Awase Khirni Syed
 
LA CREACIÓ vista per nens i nenes de 3r de Primària
guest8a9b56
 

Similar to אחסון מידע - ל-websql ו-indexdb רן בר-זיק (20)

PDF
Html5
Perfecto Mobile
 
PDF
טל פריהר: Onpage SEO למתקדמים. Visioncamp 2012
VisionCamp
 
PPT
PHP Scalability
guest2b909d
 
PDF
javascript
Nathan Krasney
 
PDF
PHP ואבטחה - חלק ראשון
Shahar Evron
 
PDF
מדריך להתקנת Joomla 2.5
Efi Petilon
 
PDF
ASP.net Web Pages
Nathan Krasney
 
PDF
מדריך iframe לפייסבוק
Igor Zvagelsky
 
PDF
שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best...
Israeli Internet Association technology committee
 
PDF
ג'ומלה ישראל - ותיקים מדריכים חדשים
Ofer Cohen
 
PDF
HTML5, ווב נייד ותקנים פתוחים ברשת
Israeli Internet Association technology committee
 
PDF
יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים
Israeli Internet Association technology committee
 
PDF
HTML5, ווב נייד ותקנים פתוחים ברשת
Israeli Internet Association technology committee
 
PDF
מכשירים חדשים - עתיד הווב הנייד
Israeli Internet Association technology committee
 
PDF
CS Final Project
Alaa Khoury
 
PDF
107 HTML & CSS
Eran Lahav
 
PDF
Javascript ajax
Nathan Krasney
 
PDF
ארכיטקטורת מידע של מנועי חיפוש1 1
MeravRomach
 
PDF
סקירת טכנולוגיות W3C חדשות שלא תראו אפילו בגירסאות ליליות - 12.2011
Israeli Internet Association technology committee
 
PPTX
Selenium WebDriver
ZahavZilberman
 
טל פריהר: Onpage SEO למתקדמים. Visioncamp 2012
VisionCamp
 
PHP Scalability
guest2b909d
 
javascript
Nathan Krasney
 
PHP ואבטחה - חלק ראשון
Shahar Evron
 
מדריך להתקנת Joomla 2.5
Efi Petilon
 
ASP.net Web Pages
Nathan Krasney
 
מדריך iframe לפייסבוק
Igor Zvagelsky
 
שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best...
Israeli Internet Association technology committee
 
ג'ומלה ישראל - ותיקים מדריכים חדשים
Ofer Cohen
 
HTML5, ווב נייד ותקנים פתוחים ברשת
Israeli Internet Association technology committee
 
יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים
Israeli Internet Association technology committee
 
HTML5, ווב נייד ותקנים פתוחים ברשת
Israeli Internet Association technology committee
 
מכשירים חדשים - עתיד הווב הנייד
Israeli Internet Association technology committee
 
CS Final Project
Alaa Khoury
 
107 HTML & CSS
Eran Lahav
 
Javascript ajax
Nathan Krasney
 
ארכיטקטורת מידע של מנועי חיפוש1 1
MeravRomach
 
סקירת טכנולוגיות W3C חדשות שלא תראו אפילו בגירסאות ליליות - 12.2011
Israeli Internet Association technology committee
 
Selenium WebDriver
ZahavZilberman
 
Ad

More from Israeli Internet Association technology committee (20)

PPS
נגישות באינטרנט לאנשים עם מוגבלות, הלכה למעשה
Israeli Internet Association technology committee
 
PDF
ליאור שיאון - מפת מקלטים
Israeli Internet Association technology committee
 
PDF
טל גלילי - אושאידי
Israeli Internet Association technology committee
 
PPTX
אמרי באומר - האקתון חוסן לאומי
Israeli Internet Association technology committee
 
PPS
אורי סגל - מרחב מוגן
Israeli Internet Association technology committee
 
PDF
אופיר בן אבי - ממשל זמין
Israeli Internet Association technology committee
 
PPTX
יובל טיסונה - המלחמה הבאה
Israeli Internet Association technology committee
 
PDF
עמוס גבע - StandWithUs
Israeli Internet Association technology committee
 
PDF
בן לנג - Iron Dome Count
Israeli Internet Association technology committee
 
PDF
האם ויקיפדיה מונגשת לאנשים עם מוגבלויות?
Israeli Internet Association technology committee
 
PDF
IPv6 - Global Adoption - Ran Liberman
Israeli Internet Association technology committee
 
PPT
implementing IPv6 in an ISP network, case study and lessons learned - Amos Ro...
Israeli Internet Association technology committee
 
PDF
IPv6 training guide - Yuval Shaul
Israeli Internet Association technology committee
 
PDF
פתיחה - יום השקת IPv6 בישראל
Israeli Internet Association technology committee
 
PDF
How I learned to stop writing CSS and start writing SASS
Israeli Internet Association technology committee
 
PDF
אבטחת מידע לעובדים בארגון
Israeli Internet Association technology committee
 
PDF
מכללת ספיר - W3C - תהליכים וטכנולוגיות
Israeli Internet Association technology committee
 
PPTX
The Open Web Platform and You! [Executive version]
Israeli Internet Association technology committee
 
נגישות באינטרנט לאנשים עם מוגבלות, הלכה למעשה
Israeli Internet Association technology committee
 
ליאור שיאון - מפת מקלטים
Israeli Internet Association technology committee
 
טל גלילי - אושאידי
Israeli Internet Association technology committee
 
אמרי באומר - האקתון חוסן לאומי
Israeli Internet Association technology committee
 
אורי סגל - מרחב מוגן
Israeli Internet Association technology committee
 
אופיר בן אבי - ממשל זמין
Israeli Internet Association technology committee
 
יובל טיסונה - המלחמה הבאה
Israeli Internet Association technology committee
 
האם ויקיפדיה מונגשת לאנשים עם מוגבלויות?
Israeli Internet Association technology committee
 
IPv6 - Global Adoption - Ran Liberman
Israeli Internet Association technology committee
 
implementing IPv6 in an ISP network, case study and lessons learned - Amos Ro...
Israeli Internet Association technology committee
 
IPv6 training guide - Yuval Shaul
Israeli Internet Association technology committee
 
פתיחה - יום השקת IPv6 בישראל
Israeli Internet Association technology committee
 
How I learned to stop writing CSS and start writing SASS
Israeli Internet Association technology committee
 
אבטחת מידע לעובדים בארגון
Israeli Internet Association technology committee
 
מכללת ספיר - W3C - תהליכים וטכנולוגיות
Israeli Internet Association technology committee
 
The Open Web Platform and You! [Executive version]
Israeli Internet Association technology committee
 
Ad

אחסון מידע - ל-websql ו-indexdb רן בר-זיק

  • 1. ‫אחסון מידע ב-5‪HTML‬‬ ‫רן בר-זיק‬ ‫מפתח ‪ PHP‬בחברת ‪HP Software‬‬ ‫אתר אינטרנט ישראל‬ ‫‪www.internet-israel.com‬‬
  • 2. ‫שיטות קיימות לאיחסון מידע‬ ‫• עוגיות מבוססות דפדפן‬ ‫ניהול המידע נעשה באמצעות ‪JavaScript‬‬ ‫‪document.cookie‬‬ ‫• עוגיות מבוססות פלאש‬ ‫ניהול המידע נעשה באמצעות ‪JavaScript‬‬ ‫המתממשק לפלאש‬
  • 3. ‫חסרונות העוגיות‬ ‫בעוגיה מבוססת ‪:JavaScript‬‬ ‫1. מקום מוגבל לארבעה קילובייט.‬ ‫2. קושי בניהול הנתונים.‬ ‫בעוגיה מבוססת פלאש:‬ ‫1. לא ניתן להסתמך על כך שיהיה פלאש‬ ‫בכל מכשיר.‬
  • 4. ‫‪localStorage‬‬ ‫אחסון בפורמט ‪key=>value‬‬ ‫•‬ ‫‪ API‬נוח ופשוט‬ ‫•‬ ‫אחסון של עד 5 ‪Mb‬‬ ‫•‬ ‫מימוש זהה בכל הדפדפנים‬ ‫•‬ ‫נתמך באינטרנט אקספלורר 8‬ ‫•‬
  • 5. localStorage – API :‫אחסון נתונים‬ localStorage.setItem('KEY', 'VALUE'); :‫שליפת נתון‬ var value = localStorage.getItem('KEY'); :‫מחיקת נתון‬ localStorage.clear('KEY'); :‫מחיקת כל הנתונים‬ localStorage.clear();
  • 8. ‫‪SessionStorage‬‬ ‫אחסון בפורמט ‪key=>value‬‬ ‫•‬ ‫‪ API‬נוח ופשוט‬ ‫•‬ ‫אחסון של עד 5 ‪Mb‬‬ ‫•‬ ‫מימוש זהה בכל הדפדפנים‬ ‫•‬ ‫נתמך באינטרנט אקספלורר 8‬ ‫•‬ ‫מבחינה חוקית – לא נחשב כעוגיה‬ ‫•‬
  • 9. sessionStorage – API :‫אחסון נתונים‬ sessionStorage.setItem('KEY', 'VALUE'); :‫שליפת נתון‬ var value = sessionStorage.getItem('KEY'); :‫מחיקת נתון‬ sessionStorage.clear('KEY'); :‫מחיקת כל הנתונים‬ sessionStorage.clear();
  • 12. ‫‪Session vs Local‬‬ ‫המאוחסנים ב-‪localSorage‬‬ ‫• הנתונים‬ ‫גם לאחר סגירת החלון.‬ ‫נשמרים‬ ‫הם חד חד ערכיים לכל דומיין.‬ ‫הנתונים‬ ‫המאוחסנים ב-‪sessionStorage‬‬ ‫• הנתונים‬ ‫רק לאורך חיי החלון.‬ ‫נשמרים‬ ‫הם חד חד ערכיים לכל חלון.‬ ‫הנתונים‬
  • 13. ‫‪Application Cache‬‬ ‫• נתמך בפיירפוקס, כרום, אופרה, ספארי‬ ‫ואינטרנט אקספלורר 01.‬ ‫• דפדפנים שלא תומכים ב- ‪Application‬‬ ‫‪ cache‬פשוט מתעלמים ממנו.‬
  • 14. ‫מה ‪ AppCache‬מאפשר לנו?‬ ‫חיסכון ברוחב פס ומשאבי שרת.‬ ‫•‬ ‫חווית משתמש טובה יותר.‬ ‫•‬ ‫מתן אפשרות לגולש לעבוד ללא חיבור‬ ‫•‬ ‫לאינטרנט.‬ ‫אפשרות להגדיר דפים שיש צורך בחיבור‬ ‫•‬ ‫אינטרנט עבורם.‬ ‫אפשרות להגדרת ‪fallbacks‬‬ ‫•‬
  • 15. ‫הגדרת ה-‪ MIME‬של ‪App Cache‬‬ ‫• כל קובץ עם סיומת ‪ appcache‬צריך להיות‬ ‫מוגש עם ‪ MIME type‬ששמו הוא:‬ ‫‪text/cache-manifest‬‬ ‫• יש צורך בשינוי ההגדרות בשרת שנעשות‬ ‫בהתאם למערכת ההפעלה של השרת.‬
  • 16. LinuxApache-‫ ב‬Mime-‫הגדרת ה‬ mod_rewrite ‫ שיש בהם‬Apache ‫בשרתי‬ • :‫הוספת השורה‬ AddType text/cache-manifest appcache .‫ של האפליקציה‬root-‫ שנמצא ב‬htaccess-‫אל קובץ ה‬ mod_rewrite ‫ שאין בהם‬Apache ‫בשרתי‬ • :‫הוספת השורה‬ text/cache-manifest appcache; :‫אל‬ /user/local/etc/httpd/conf/mime.types :‫ מוסיפים את השורה אל‬nginx ‫בשרתי‬ • /etc/nginx/mime.types
  • 17. IIS7-‫ ב‬MIME type-‫הגדרת ה‬ :IIS Manager-‫ ב‬MIME type ‫• איתור‬
  • 18. '‫ –ב‬IIS7-‫ ב‬MIME type ‫הגדרת‬
  • 19. cURL ‫ עם‬MIME Type ‫בדיקת‬
  • 20. HTML-‫ לדף ה‬appcache ‫קישור בין‬ <!DOCTYPE html> <html lang="en" manifest="/my.appcache"> // your html document </html>
  • 21. ‫שלושת חלקי ה-‪appcache‬‬ ‫• ‪:CACHE‬‬ ‫הדפים שאנו מורים לדפדפן לטעון לתוך ה-‬ ‫‪.cache‬‬ ‫• ‪:FALLBACK‬‬ ‫דפים שאנו מורים לדפדפן להגיש למשתמש‬ ‫במידה והוא מנסה לגשת למשאבים לא‬ ‫קיימים כאשר הוא מנותק מהאינטרנט.‬ ‫• ‪:NETWORK‬‬ ‫דפים שאנו מורים לדפדפן לא לשמור ב-‬ ‫‪ cache‬לעולם.‬
  • 22. CACHE MANIFEST appcache ‫קובץ‬ # cache version 1.2 # This is a comment CACHE: /css/some.css /css/some_offline.css /js/some_screen.js /img/logo.png http://example.com/css/styles.css FALLBACK: / /offline.html NETWORK: login.php update.php
  • 23. ‫יש דפדפנים שמבקשים אישור‬ ‫מהמשתמש על ‪appcache‬‬
  • 25. ‫‪WEB SQL‬‬ ‫• התבסס על ‪SQLite‬‬ ‫• נתמך על ידי ספארי וכרום.‬ ‫• ‪ W3C‬הודיעה רשמית על עצירת גיבוש‬ ‫התקן.‬
  • 26. ‫‪IndexedDB‬‬ ‫מסתמן כפתרון המועדף להצבת מסדי‬ ‫•‬ ‫נתונים בצד הלקוח‬ ‫נתמך כרגע ב-‪ FireFox, Chrome‬ו-01‪.IE‬‬ ‫•‬ ‫סביר להניח שבעתיד ייתמך באופרה‬ ‫ובספארי.‬ ‫‪Very low level API‬‬ ‫•‬ ‫מסד נתונים מונחה עצמים (שונה ממסד‬ ‫•‬ ‫הנתונים הרלוציוני המוכר לרוב המפתחים).‬ ‫התקן והאימפלמנטציה מאד לא מגובשים.‬ ‫•‬
  • 27. ‫יצירת מסד נתונים‬ ‫בדיקת דפדפן ומימוש‬ var indexedDB = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB; if ('webkitIndexedDB' in window) { window.IDBTransaction = window.webkitIDBTransaction; window.IDBKeyRange = window.webkitIDBKeyRange; }
  • 28. ‫יצירה והתחברות למסד נתונים‬ :‫התחברות‬ var request = indexedDB.open('MyTestDatabase'); :callback ‫יצירת‬ request.onsuccess = function(event){} :‫יצירת אובייקט מידע‬ var db = event.target.result; var request = db.setVersion('1.2'); request.onsuccess = function(event){ console.log("Success version."); if(!db.objectStoreNames.contains('family')){ console.log("Creating objectStore"); db.createObjectStore('family'); }
  • 29. ‫יצירת טרנזקציה ראשונית‬ var transaction = db.transaction([], IDBTransaction.READ_WRITE, 2000); transaction.oncomplete = function(){ console.log("Success transaction"); };
  • 30. ‫הכנסת מידע‬ var objectStore = transaction.objectStore('family'); objectStore.put('something').onsuccess = function(event) { console.log("Saved record with id " + event.result); }
  • 31. ‫דוגמאות חיות‬ ‫• דוגמאות וסקריפטים רלוונטיים יפורסמו‬ ‫באתר אינטרנט ישראל:‬ ‫‪www.internet-israel.com‬‬ ‫תודה רבה!‬