לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #5  
ישן 08-04-2008, 17:42
  ישראל K ישראל K אינו מחובר  
 
חבר מתאריך: 25.08.03
הודעות: 9,114
בתגובה להודעה מספר 4 שנכתבה על ידי dardevil שמתחילה ב "צהריים טובים. תראה, ניסיתי..."

אתה מדבר לעצמך?

1. כדי לנסות בלבד, תוכל להדפיס את הדף למסמך pdf, כך לא תצטרך לבזבז דפים.
2. את ה-body תכתוב באותיות קטנות (נדרש בעיקר ב-xhtml). י
3. השכבה שבחרת אמנם מוצגת כ-block, אבל היא בתוך שכבה (בתוך ה-body שהיא כמובן "עוטפת" את כל האלמנטים) מוסתרת, ולכן היא לא תוצג.

פתרונות:
א. ליצור 2 שכבות ברמה העליונה (בנים מדרגה ראשונה של ה-body), אחת מהם תכיל את כל המסמך והוא יהיה מוסתר עבור הדפסה, האחרת תכיל עותק של האלמנט שברצונך להדפיס ושכבה זו תהיה מוסתרת עבור המסך ומוצגת עבור הדפסה.
ב. בעת לחיצה להדפסה תרוץ פונקציה שתוסיף class כלשהוא לכל אלמנט בנפרד, מלבד לאלמנט הנדרש להדפסה. מחלקה זו היא שתגרום להם להיות מוסתרים עבור הדפסה.
אני מניח שישנן פתרונות נוספים, אבל הרעיון הכללי זהה בכולם. נסה לגרום לכל האלמנטים להיות מוסתרים מלבד לאלו שתחת האלמנט הנדרש להדפסה.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #8  
ישן 08-04-2008, 22:58
  dardevil dardevil אינו מחובר  
 
חבר מתאריך: 12.08.05
הודעות: 883
בתגובה להודעה מספר 7 שנכתבה על ידי DCD שמתחילה ב "בעזרת JS תעביר את החלק שאתה..."

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

אני הולך ומסתבך עם זה יותר מרגע לרגע.
אני חושב שפשוט לא הבנתי נכון את ישראל k.
אתה תוכל להסביר לי בבקשה בצורה יותר מפורטת?
המון תודה וסליחה על הטירחה!
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #9  
ישן 09-04-2008, 16:37
  DCD DCD אינו מחובר  
 
חבר מתאריך: 17.05.05
הודעות: 7,321
בתגובה להודעה מספר 8 שנכתבה על ידי dardevil שמתחילה ב "מה ז"א להכניס את המידע..."

קודם כל, אין לך בכלל מה להסתבך פה כי זה פשוט מאוד.

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


קוד:
<html> <head>...</head> <body> <div id='siteWrapper'> <table> <tr> <td>...</td> <td id='dataToPrint'>Text and stuff...(including other tags)</td> </tr> </table> </div> </body> </html>


עכשיו מה שצריך זה להדפיס את האלמנט (במקרה שלנו זה ה-td) בעל מאפיין id עם הערך 'dataToPrint'.

ישנן לפחות 2 אפשרויות, כפי שישראל כתב:

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


כיוון שאתה חדש בעניין הזה, נלך על פיתרון א'.

לכן, עכשיו הקוד של האתר צריך להיראות:
קוד:
<html> <head>...</head> <body> <div id='siteWrapper'> <div id='visibleToScreen'> <table> <tr> <td>...</td> <td id='dataToPrint'>Text and stuff...(including other tags)</td> </tr> </table> </div> <div id='visibleToPrinter'></div> </div> </body> </html>


עכשיו הפיתרון פשוט הרבה יותר, כיוון שרוב העבודה היא באמצעות ה-CSS, ע"י הצעדים הבאים:

1. את ה-div בעל מאפין ה-id עם הערך visibleToScreen תסתיר מהמדפסת, אך תציג למסך המחשב (Screen).
2. את ה-div בעל מאפין ה-id עם הערך visibleToPrinter תציג למדפסת, אך תסתיר ממסך המחשב.

כלומר, שקוד ה-CSS אמור להיות:

קוד:
<style type='text/css'> @media print { * { display:none; visibility:hidden; } #siteWrapper, #visibleToPrinter { display:block; visibility:visible; } } @media screen { #visibleToPrinter { display:none; visibility:hidden; } } </style>



כעת מה שנותר זה שבעת לחיצה על לינק ההדפסה, כל המידע שנמצא בתוך ה-div בעל מאפין ה-id עם הערך visibleToScreen יעבור אל div בעל מאפין ה-id עם הערך visibleToPrinter.
זאת עושים בעזרת JS:

קוד:
<script type='text/javascript'> function print() { document.getElementById('visibleToPrinter').innerH TML = document.getElementById('visibleToScreen').innerHT ML; } </script>


בסופו של דבר, הקוד הכללי של אתרך אמור להראות בערך כך:


קוד:
<html> <head>... <style type='text/css'> @media print { * { display:none; visibility:hidden; } #siteWrapper, #visibleToPrinter { display:block; visibility:visible; } } @media screen { #visibleToPrinter { display:none; visibility:hidden; } } </style> </head> <body> <div id='siteWrapper'> <div id='visibleToScreen'> <table> <tr> <td>...</td> <td id='dataToPrint'>Text and stuff...(including other tags)</td> </tr> </table> <a href='#' id='thePrintLink'>Print page!</a> </div> <div id='visibleToPrinter'></div> </div> <script type='text/javascript'> document.getElementById('thePrintLink').onclick = function() { document.getElementById('visibleToPrinter').innerH TML = document.getElementById('visibleToScreen').innerHT ML; } </script> </body> </html>


בהצלחה
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 22:52

הדף נוצר ב 0.05 שניות עם 12 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2026 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר