דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
אבי 203א

אבי 203

@אבי 203
אודות
פוסטים
528
נושאים
137
קבוצות
0
עוקבים
4
עוקב אחרי
4

פוסטים

פוסטים אחרונים הגבוה ביותר שנוי במחלוקת

  • ניהול של עדכון נתונים כשיש הרבה משתמשים
    אבי 203א אבי 203

    @אבי-203 זה מה שחבר בWIX כתב לי

    "אתה צריך למעשה מנגנון כפול שמנהל תורים (Queues) וולידציה כפולה לפני שהרכישה מתבצעת לוודא שהכרטיס לא נרכש, כמו במערכות למכירת כרטיסים

    1. למנוע שהשרת לא יציע את אותו כרטיס לשני אנשים
    2. לתת X זמן ללקוח כשהוא נמצא בעמוד ההזמנה הודעה שאומר (״הכרטיס זמין לך ל X זמן הקרוב״)
    3. רגע לפני הרכישה לעשות בדיקה שהכרטיס לא נרכש.

    זה דורש לא מעט קוד מורכב תחפש בגוגל How to manage Promises into dynamic queue with vanilla JavaScript"

    סוף ציטוט.

    זה לא הכי יעזור לי כי אני לא יודע כמה כמות ירכוש כל אחד. ושוב לכאורה תהיה בעיה כמה לתפוס, ואם לא תופס את אותם המספרים, אם יש בו זמנית 10- 20 נציגים.


  • ניהול של עדכון נתונים כשיש הרבה משתמשים
    אבי 203א אבי 203

    @dovid @yossiz איבדתי אתכם!
    מה זה הדבר הזה??
    מה שעשיתי זה בסוף התהליך בדיקה כמה יצא והאם זה תואם את מה שמגיע לו, ואם לא מריץ אותה מחדש עם עדכון כמות פחות מה שיצא.
    הבעיה שאני גם מנסה לחבר אותם לשדה טקסט פשוטה, עם פסיק, ומשום מה אני לא מצליח לעכב את זה, זה חוזר לי ריק לדף, למרות שבמסד הנתונים זה נכתב טוב.
    (אגב. לשם הבנת הקוד, זה בנוי שעל כל כרטיס שני מקבלים שלישי בונוס)

    זה בדף הצד לקוח

    	postData(truma).then((ms) => {
    	$w('#html2').hide()
    
    $w('#text119').text = String(ms)
    $w('#repeater1').expand()
    $w("#dynamicDataset").refresh()
    $w('#dataset3').refresh()
    emails(truma, ms)
    
     } );			
    

    וזה בצד אחורי

    
    export async function postData(truma) {
        let carim = Number(truma.amount),
       bonusim =(Math.floor( truma.amount/2))
     await tikun(truma,carim,bonusim).then((ms)=>{
        
      wixData.get("tormim", truma._id)
    				.then((item5) => {
    item5.ishur=  true
    item5.status = "מאושר"
    item5.card1=  ms
    			wixData.update("tormim", item5)
    			} )
      .catch( (err) => {
        let errorMsg = err;
      } );
         return ms;
    
      })
    
    
    export async function tikun(truma,carim,bonusim) {
    
    
    for (var i = 0; i <carim ; i++) {
    		let  results   = await wixData.query("card").eq("sug", "הגרלה").ascending("ms").isEmpty("torem").isEmpty("toremim").limit(1).find()
            let item = results.items[0];
            item.torem = truma._id; 
         await   wixData.update("card", item);
         
          await wixData.insertReference("tormim", "card", truma._id, results.items[0]._id) 
     }
           for (var ii = 0; ii < bonusim ; ii++) {
    	let  results2   = await wixData.query("card").eq("sug", "בונוס").ascending("ms").isEmpty("torem").isEmpty("toremim").limit(1).find()
          
            let item2 = results2.items[0];
            console.log(item2);
    
            item2.torem =  truma._id
           await wixData.update("card", item2);
    
         await wixData.insertReference("tormim", "card", truma._id, results2.items[0]._id)
    
     }
    
    let ms;
    let cardragil = await  wixData.query("card").eq("torem",truma._id ).eq("sug", "הגרלה").find()
    let cardbonus = await  wixData.query("card").eq("torem",truma._id ).eq("sug", "בונוס").find()
    console.log(cardragil,cardbonus);
      if (cardragil.length===carim && cardbonus.length===bonusim) {
       let rels =  await  wixData.query("card").eq("torem",truma._id ).find()
       console.log(rels);
       await rels.items.map(obj => {
           if (ms===undefined ||ms===null ||!ms) {
    			   	ms = obj.ms + ","
    
          }else{
    			   	ms += obj.ms + ","
    }
        })
        return ms;
      }else{
     carim =carim - cardragil.length,
    bonusim = bonusim -cardbonus.length
    await tikun(truma,carim,bonusim)
    console.log(2);
      }
      
       }
    

    בתכלס ערך ms חוזר אלי undefined
    כנראה שהוא חוזר לפני הסיום כי במסד הנתונים זה נשמר טוב.

    אשמח כמובן להבין שיש פתרון פשוט יותר,


  • ניהול של עדכון נתונים כשיש הרבה משתמשים
    אבי 203א אבי 203

    @אבי-203 תוך כדי שאני כותב עלה לי רעיון אולי בסוף התהליך לבדוק אם יצא לו לפי הכמות ואם לא להפעיל את הפונקצייה בחזרה, רק שאלה: אם אני באמצע פונקציה קורא שוב לפוקצייה עצמה היא עוצרת ומתחילה מחדש? כך.

    let cardragil = await  wixData.query("card").eq("torem",truma._id ).eq("sug", "הגרלה").find()
    let cardbonus = await  wixData.query("card").eq("torem",truma._id ).eq("sug", "בונוס").find()
    console.log(cardragil,cardbonus);
      if (cardragil.length===truma.amount&&cardbonus.length===bonus) {
          return ms
    
      }else{
    postData(truma)
    
      }
    

  • ניהול של עדכון נתונים כשיש הרבה משתמשים
    אבי 203א אבי 203

    בניתי מערכת לרכישת כרטיסים, אני לא יכול לעשות שברכשיה יצור שורת כרטיס כי יש הרבה פרטים משתנים.
    איך שיהיה כעת מיש לי טבלה עם 10 אלף פריטים שזה בעצם הכרטיסים, אני צריך לעדכן ולרשום לקוח שם אם קנה 2 להכניס אותו בשתי שורות, כלומר 2 כרטיסים.

    מלכתחילה פחדתי שאם יהיו בו זמנית אחד יקח לשני מספרים, אז נסיתי שהתהליך יהיה הכי קצר ומהיר. בניתי לולאה פשוטה כזו:

    
    for (var i = 0; i < truma.amount ; i++) {
    		let  results   = await wixData.query("card").eq("sug", "הגרלה").ascending("ms").isEmpty("torem").limit(1).find()
            let item = results.items[0];
            item.torem = truma._id;
         await   wixData.update("card", item);
    }
    וכו...
    

    מה שקואה שם יש מישהו שרוכש עשר לדוגמא ומיהו אחר באותה שניה קונה 4 למשל, אז השני לוקח חלק לראשון...

    איך אני עוצר את זה.
    תוןדה רבה


  • קידום מכירה באתר באמצעות עדכון על רכישות כעת
    אבי 203א אבי 203

    @clickone ב WIX אתה מגדיר מי יכול לצפות בתוכן, אז דפי ההזמנות אני מגדיר שיכול לצפות בזה רק המחבר, או מנהל.
    אם אעשה את זה ציבורי אז כל אחד יכול למשוך את כל המידע.
    מה עדיף להביא בפעם ראשונה את כל ה- 20 פריטים, ואז להריץ בניהם את הלולאה, או עדיף להוריד אחד אחד?


  • קידום מכירה באתר באמצעות עדכון על רכישות כעת
    אבי 203א אבי 203

    @clickone סיבה נוספת שאני לא לוקח מהאמיתי, כי אם אני יקח ממסד הנתונים עלול לפתוח פתח של פרצת אבטחה שמסד הנתונים הזה יהיה חשוף, או שאולי צריך לעשות מהשרת שיעתיק משם למסד נתונים חופשי?


  • קידום מכירה באתר באמצעות עדכון על רכישות כעת
    אבי 203א אבי 203

    @clickone אני חושב ששאלת וענית.
    אני רוצה שיהיה קרוב לאמיתי, אז אני באמת לוקח איזה 10-20 הוספות לסל אחרונות. האמת שחשבתי לסנן שבת ושעות מאוחרות..
    בכל מקרה החשש שלי מהעמסה על הדפדפן בגלל הפונקציות של הטיימר, הם לא מכבידות?
    או שאולי אתה בכלל עונה לי שהכובד זה הפניה לDB ואת זה אתה מציע לבטל.


  • קידום מכירה באתר באמצעות עדכון על רכישות כעת
    אבי 203א אבי 203

    באתר מכירות עשיתי משהו שידרבן מכירות שמתריע שכעת נוסף לסל על ידי לקוח כלשהו מוצר פלוני.
    היות שלא יודע אם תמיד יהיה באותו רגע, אז אני שומר את כל הרכישות האחרונות במסד נתונים ובניתי איזה לולאה אקראית שתוציא בזמן לא אחיד איזה הוספה לסל אקראית ותציג שנוספה כעת.
    עובד נהדר.
    רק החשש שלי שקוד כזה גורם לעומס על האתר.
    אשמח לדעתם. או שיש המלצה אחרת. או לשפר את הקוד.

    let countdown = setInterval(function () {
     var time = Math.floor((Math.random() * 200000) + 20000);
    setTimeout(function () {
    		
    				let sisma = Math.floor((Math.random() * 12) + 1);
    console.log(sisma);
    	wixData.query("sales").limit(1).skip(sisma).find().then((results) => {
    console.log(results);
    let muzar =[results.items[0].muzar]
    $w('#repeater16').data= muzar;
     $w("#repeater16").onItemReady( ($item, itemData, index) => {
      $item("#text376").text = itemData.muzar;
      $item("#image32").src = itemData.imeg;
      $item('#container152').onClick((event) => {
    			wixLocation.to("/items/" +  itemData.mkt);
    			  } )
    });
    $w('#container152').show()
    setTimeout(function () {
    $w('#container152').hide()
    
    }, 8000);
    })
    
    
    // 	} );
    }, time);
    			}, 5000);
    

  • אולי זו עיצה טובה למחפש את דרכו בעולם פיתוח אתרים.
    אבי 203א אבי 203

    @nigun דברי טעם.
    אני לא חושב שיש מישהו שיכול לקום ולהצהיר שיש לו כזה דבר זמן פנוי...
    ועדין אני מניח שכל פלטפורמה תעשה גם צעדים להדביק את הקצב.

    במקום לשרוף אלפי שעות, ואז לבדוק ולגלות, מן הנכון שאזובי הקיר ישמעו ממומחים כמוכם שרואים מלמעלה, האם באמת למי שעובד מ-0 כתיבה מלאה מHTML וכו'
    האם העבודה מהירה יותר?
    האם המחיר שניתן לגבות גבוה יותר?
    האם היכולת גבוהה יותר, ביחס לדרישות השוק?
    האם ברוב העבודות צריך את היכולות הנוספות הללו?
    ובפועל מה לעומת מה זמן הלמידה או הריווח מהיכולות הנוספות?


  • אולי זו עיצה טובה למחפש את דרכו בעולם פיתוח אתרים.
    אבי 203א אבי 203

    @odeddvir בשביל לבנות אתר בסטנדרט, ברוחו של @dovid . צריך ללמוד HTML וCSS וכמובן JS ו SQL וכו' וכו' כל כך הרבה.
    המעלה ב- WIX שפשוט לא צריך לדעת כלום. (יתרון: גרפיקאים או בעלי חוש עיצובי.. ) אם רוצים להתפתח נעזרים ב JS ויש להם מדריכים בלי סוף. וכמובן תחומים..
    אני כבר 4 שנים עם לקוחות, כל מה שקרה ואמרתי שאני לא יכול, היום זה אפשרי ועשיתי, אפילו הנפקת pdf ברקודים דיאגרמות, API עם כל דבר, מודולים, רק השבוע קרה לי שנרתעתי מפרוייקט לבנות אתר עם אפשרות עיצוב תמונות עריכה סוג של פוטושופ אינטרנטי. ועדין לא בדקתי רק בשמיעה ראשונית נשמע לי מורכב.

    וחוץ מהמקרה הזה, ביחס לשוק יש לי את כל הכלים להציע. לכל לקוח לכל עבודה.

    אז השאלה היא כמה אני צריך לאבד זמן לימוד ועבודה, ביחס לכמה עבודות אני אפסיד.
    הנקודה שהיה חסרון דרמטי עם המהירות, ואת זה באתי לבשר שהוא כבר אינו.
    אני משוכנע שאני יכול לקחת כל אדם עם אינטואיציה בסיסית ובחצי שעה-שעה אני מלמד אותו את יסודות המערכת. והוא למחרת מגיש הצעות מחיר של עסקאות ב-10 אלף.

    וכמובן גם אני מצטרך כמוכה (כ"ף דגושה) מ@dovid שאומר גדל וגם משקה..


  • אולי זו עיצה טובה למחפש את דרכו בעולם פיתוח אתרים.
    אבי 203א אבי 203

    @dovid ניסוח מדויק!
    רק מניח שרוב הבוחרים בדרך הזו, בסבירות גבוהה כשיגיעו לחסם הראשון יגלו ש-WIX (חברה מצליחה לא קטנה...) פרצו אותו לפני שהגיע אליו.
    במהלך השנים אלפי! דברים שבעבר לא יכולתי לעשות אפשריים כיום.
    אני לא אומר שאני לא נתקל בחסמים בתחום css וגם בפונקציות כל שהם.
    אבל בכל זאת הקצב שם מהיר, היום אפשר להוסיף מודולים וכוכו'.
    אני נזכר שאחד ממנהלי המוצר שם אמר לי מפורש שזה היעד שלהם שמפתחים יעבדו שם. אז סביר להניח שאם זו המגמה הם יעשו הכל לאפשר אותה.


  • אולי זו עיצה טובה למחפש את דרכו בעולם פיתוח אתרים.
    אבי 203א אבי 203

    @dovid טיפשי מצידי להרהר במה שאתה כותב בתחום.
    כמו שהצהרתי שמי שרוצה להיות מפתח ולהתפתח, בודאי שילך ללמוד מאפס אולי יום אחד יפתח WIX משלו.
    אני מנסה להציע למי שמחפש להישאר בעולמו, במינימום זמן. זו אופציה. תקן אותי אם אני טועה. אם היה קונים לאקסס אולי זו גם אפשרות למרות שלי WIX היתה קלה פי כמה וכמה מאקסס.
    ושוב אחהמ"ר כמו שאומרים במחוזותינו.


  • אולי זו עיצה טובה למחפש את דרכו בעולם פיתוח אתרים.
    אבי 203א אבי 203

    נתקלתי כמה פעמים באברכים וכד' שמחפשים דרך קצרה וקלה להיכנס לתחום פיתוח אתרים, זה נשמע להם משהו שאפשר לשלב עם הלימוד. והכנסה נחמדה.
    מכיר אברך שהתחיל מפסיכומטרי... מיותר או לא לציין שהוא שלוש שנים בהכנה ללימודים..
    אני חושב שהיום יש לי עיצה טובה..
    ראשית ברור שמי שיש לו את הזמן והעקביות, וההתמדה וכו' ללמוד מא' ועד ת' זה ודאי הכי טוב מצד היכולות והידע העתידי.
    אני מציע לאלו שמחפשים את הדרך הקצרה, (אין צורך להשלים לי את הפסקה...;).
    בעיניי היום (בדגש על היום) פלטפורמת הפיתוח למחפשים דרך קצרה היא WIX.
    אני מניח שאני מקים עלי את כל מעריצי הורדפרס וכו' ועל אחת כמה את המפתחים האורגנים. בפרט שאני לא באמת מכיר לעומק את וורדפרס וכו'.
    אבל בכל זאת יורשה לי להציע.
    בפלטפורמת WIX, כל משתמש [גם ללא שום הבנה באנגלית!] יכול להקים אתר וכמעט כל דבר אפשרי כיום.
    כל השימוש לדברים הבסיסים++, הוא בקליקים, גרירת אלמנטים פשוטה, הקמת מסדי נתונים, חיבור אלמנטים למסדי נתונים, דפים דינמיים, טפסים, התאמה למובייל, כמובן אין ספור תבניות מוכנות. הרבה תוספים. כמעט כל אתר ניתן לבנות, ובתוספות תשלום אפשר לחסוך עבודה ולהתקין תוספים.

    אני מניח שפחות או יותר גם ביתר הפלטפורמות, אבל היתרון כאן הוא שאין צורך לא בהתקנת תעודת אבטחה, לא חיבורי דומיין מורכבים, לא צורך בשרת פרטי ,וכו' וכו'.

    לא רואה להכנס להשוואות מפורטות אבל רוצה לדבר דוקא על החסרון. אני כבר 7 שנים עובד עם הפלטפורמה, ותמיד היה שם חסרון נצחי, האתרים שלהם היו איטיים מאוד. כך גם דירוגי מהירות היו נוראיים, לא הייתי מרשה לעצמי לכתוב כאן על המלצה כזו. עד היום.

    לפני כחודשיים פניתי שוב ל-WIX (במהלך השנים הכרנו.. עקבו אחרי אתרי קוד שלי שם ) הודעתי להם שאני לקראת ייאוש מהפלטפורמה, ואז הם חשפו לי שבקרוב הם מעלים שדרוג דרמטי. שיאיץ את האתרים. התרגלתי להבטחות מן הסוג, ואז הם הביאו דרך לצפות איך יראו האתרים שלי בשדרוג החדש. ראיתי וזה באמת היה חסר תקדים.

    במהלך השבועות האחרונים בזה אחר זה עברו האתרים לשדרוג החדש, ופשוט הפלטפורמה הפכה למושלמת. אתר שקיבל בעבר ציון 26 קיבל בגוגל 85 זה נהדר גם במושגי האתרים בעולם הגדול.

    ממה שידוע לי הם עדין לא סיפרו על השדרוג הזה ברבים, אולי אני הראשון שכותב עליו. אני בטוח שעוד ישמעו על זה.

    לענ"ד זוהי דרך קלה למי שרוצה לעבוד בתחום, ובהדרכה של חצי שעה יכול ללמוד את כל יסודות עיצוב האתר שם. אח"כ לאט לאט אפשר ללמוד קוד ולשדרג דברים יחודיים.

    אני כותב ומדמיין את כרישי הפיתוח ששוחים כאן קוראים את זה ומגחכים על נחמת השוטים... אבל בכל זאת אני מכיר כל כך הרבה שהיו רוצים למצוא קיצור דרך להכניס במיידי כסף. זו אופצייה לא רעה. (מבלי להיכנס איך משיגים לקוחות.. כמובן כמובן)

    נ.ב היום היעד של החברה בשונה מבעבר, כפי שאני מתרשם זה להיכנס לעולם המפתחים שיעדיפו אותם על פני קוד מלא או המתחרים. ולצד זאת להישאר פשוט למתחילים, כך שתמיד אפשר להתקדם מרמה לרמה. ויש גם את editor x עולם רספונסיבי בפנ"ע.

    נכתב בצידי צידו, מה שתסתבכו יש כאן מקודדי על שגם שמחים לעזור. חייב להם המון.


  • סדר תהליכים ב java script
    אבי 203א אבי 203

    @avr416 שמתי בתחילת הפוסט זה הקוד.למעלה.


  • סדר תהליכים ב java script
    אבי 203א אבי 203

    @avr416 אני שם את זה בשביל שלא יתחיל לפני פונקציות אחרות שבראשית הקוד.
    אם אני יסתמך על ה then זה יעכב רק מה שאחרי את ה update אבל ה get יתחיל לפני הפונקציות שלפני.


  • סדר תהליכים ב java script
    אבי 203א אבי 203

    @yossiz מקווה שהבנתי כעת את ההגיון של זה.
    אני רוצה שהלולאות יבנו את הערך של הפרמטר ms ורק לאחר שהוא נבנה ירוץ פעולת העדכון.
    זה עובד לי טוב מה שכתבתי. אבל לפעמים זה רץ קודם, לא מצליח למצוא את הסיבה.
    אני יודע שיש דבר כזה
    Promise.all([
    אבל כנראה אני לא יודע להשתמש בזה.

    
      await wixData.get("tormim", truma._id)
    				.then((item) => {
    item.ishur=  true
    item.status = "מאושר"
    item.card1=  ms
    			wixData.update("tormim", item)
    			} )
      .catch( (err) => {
        let errorMsg = err;
      } );
    

  • סדר תהליכים ב java script
    אבי 203א אבי 203

    באג שקורה לי לפעמים כן לפעמים לא.
    אני מריץ שתי לולאות for ורוצה שאח"כ את התוצאה שלהם יעדכן במסד נתונים tormim אני מעכב את זה עד להשלמה לפעמים זה שומר לפעמים לא. כלומר לפעמים בכלל זה לא מגיב מדלג על זה. לא מעדכן כלום. איפה אני טועה. אולי איזה תקלה עוצרת את זה מלהגיע לשם?

    let card= []
    	let ms;
    	if (truma.hafaka === "מערכת") {
    for (var i = 0; i < truma.amount ; i++) {
    		let  results   = await wixData.query("card").eq("sug", "הגרלה").ascending("ms").isEmpty("torem").limit(1).find()
            let item = results.items[0];
                    console.log(item);
            item.torem = truma._id; // updated last name
          await  wixData.update("card", item);
          console.log(ms);
          if (ms===undefined) {
             ms = await item.ms 
    
          }else{
    ms = await ms + "," + item.ms 
    }
    
        await  card.push(item._id)
    console.log(results);
          await wixData.insertReference("tormim", "card", truma._id, results.items[0]._id)  .then( () => {
        console.log("Reference inserted");
      } )
      .catch( (error) => {
        console.log(error);
      } );
     }
           for (var ii = 0; ii < (Math.floor( truma.amount/2)) ; ii++) {
    	let  results2   = await wixData.query("card").eq("sug", "בונוס").ascending("ms").isEmpty("torem").limit(1).find()
          
            let item2 = results2.items[0];
            console.log(item2);
    
            item2.torem =  truma._id
          await  wixData.update("card", item2);
    ms = await ms + "," + item2.ms 
        await card.push(item2._id)
         await wixData.insertReference("tormim", "card", truma._id, results2.items[0]._id)  .then( () => {
        console.log("Reference inserted");
      } )
      .catch( (error) => {
        console.log(error);
      } );
     }
    console.log(ms);
    
      await wixData.get("tormim", truma._id)
    				.then((item) => {
    item.ishur=  true
    item.status = "מאושר"
    item.card1=  ms
    			wixData.update("tormim", item)
    			} )
      .catch( (err) => {
        let errorMsg = err;
      } );
      return ms
    
     }
    

  • קוד הורדה לאקסל.
    אבי 203א אבי 203

    @יוסף-בן-שמעון נהדר זז משהו.
    אבל עכשיו מגדברש משהו אחר... כך זה מגיע התוכן

    96c81854-2f6e-41b3-b796-990d331b01de-image.png Thu Nov 26 2020 22:08:22 GMT+0200 (שעון ישראל (חורף))


  • קוד הורדה לאקסל.
    אבי 203א אבי 203

    @יוסף-בן-שמעון תודה גדולה. אכלה אותי סקרנות מה מחקת בתחלה... פיספסתי.

    הידע שלי ב HTML אפסי.
    לא הבנתי איך זה מתחבר ה blob
    סליחה על החוצפה, איך אני משבץ את מה ששלחת בקוד שהם הביאו?


  • קוד הורדה לאקסל.
    אבי 203א אבי 203

    אני משתמש כספריית corvid ( 😞 כידוע.. )
    חיפשתי פתרונות להוריד לאקסל מדף הלקוח. מצאתי 2.
    זה עבד לי לרגע, אבל לא מצליח לשחזר שוב. יתכן ויש מגבלה לא יודע.
    https://www.wix.com/corvid/forum/tips-tutorials-examples/export-data-collection-to-xls-excel-file-using-code?appSectionParams={"origin"%3A"member_posts_page"}

    יש את זה. זה עובד טוב,
    https://www.wix.com/corvid/forum/community-discussion/export-any-data-collections-to-ms-excel-using-wix-code-video
    אני שולח בקוד את כל המידע לתיבת HTML וממנה זה יורד. זה עובד טוב. גם בתצוגה הראשונית זה נראה בתיבת ה HTML תקין. רק כשזה יורד כל העברית מגיע מג'וברש כמו URL.
    אשמח לכל פתרון.

    <html>
    <head>
    <script>
        var myList=[];
        window.onmessage = function(event){
        if (event.data) {
          myList = event.data;
          if (myList.length>0) {
            buildHtmlTable();
          }
        }
        else {
          myList = [];
        }
      };
     function buildHtmlTable() {
         var columns = addAllColumnHeaders(myList);
     
         for (var i = 0 ; i < myList.length ; i++) {
             var row$ = $('<tr/>');
             for (var colIndex = 0 ; colIndex < columns.length ; colIndex++) {
                 var cellValue = myList[i][columns[colIndex]];
     
                 if (cellValue == null) { cellValue = ""; }
     
                 row$.append($('<td/>').html(cellValue));
             }
             $("#excelDataTable").append(row$);
             
         }
         return exportF(); // Make Excel file download now
     }
     function addAllColumnHeaders(myList)
     {
         var columnSet = [];
         var headerTr$ = $('<tr/>');
     
         for (var i = 0 ; i < myList.length ; i++) {
             var rowHash = myList[i];
             for (var key in rowHash) {
                 if ($.inArray(key, columnSet) == -1){
                     columnSet.push(key);
                     headerTr$.append($('<th/>').html(key));
                 }
             }
         }
         $("#excelDataTable").append(headerTr$);
     
         return columnSet;
     }
     function exportF() {
      var table = document.getElementById("excelDataTable");
      var html = table.outerHTML;
    
      var url = 'data:application/vnd.ms-excel,' + escape(html);
      var link = document.getElementById("downloadLink");
      link.setAttribute("href", url);
      link.setAttribute("download", "export.xls"); // Choose the file name here
      link.click(); // Download your excel file   
      return false;
    }
     </script>
    </head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    
    <body onLoad="">
        <table id="excelDataTable" border="1">
         </table>
         <a style="display: none" id="downloadLink"></a>
    </body>
    
    </html>
    
  • 1
  • 2
  • 13
  • 14
  • 15
  • 16
  • 17
  • 26
  • 27
  • 15 / 27
  • התחברות

  • אין לך חשבון עדיין? הרשמה

  • התחברו או הירשמו כדי לחפש.
  • פוסט ראשון
    פוסט אחרון
0
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום