שלח תשובה

זירת השאלות

752
צפיות
13
תשובות

העלמת באנר צדדי בעת רזולוציה נמוכה

,‏ 31 ביולי, 2008

שלום לכם !

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

אפשר בבקשה ?

תודה!

תגיות:

13 תשובות

  1. BuildHome הגיב:

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

    זה מאוד פשוט, הנה קוד לדוגמא:
    <script type="text/javascript">
    if(screen.width<1024)
        document.getElementById('div_banner').style.display = 'none';
    </script>
    <div id="div_banner">ADSENSE CODE HERE</div>

    אמור לעבוד בלי בעיה.

    בהצלחה


    "החיים הם רק הדרך במסע הנפש", בילד 2004-2008 <img src='/images/6.gif'>
    http://Www.Torec.Net &nbsp;* http://Www.Torec.In

  2. israela הגיב:

    לא מצליחה לשלב
    אני לא מצליחה לשלב את זה ב:
    <script type="text/javascript">
    function guestload()
    {
    document.getElementById('glol').style.display="block";
    }
    window.onload=guestload
    {
    </script>
    אני ממש לא בקטע של ג'אווה סקריפט, אשמח לעזרה.

  3. israela הגיב:

    בטעות לחצתי אנטר וזה שלח :S
    קבלו עוד פרטים, הנה החלק שבתוך הHEAD:

    <script type="text/javascript">
    if (screen.width<1600)
    document.getElementById('glol').style.display = 'none';
    </script>

    <script type="text/javascript" src="/tzd.js"></script>

    <div id="glol"  style="
    display:none;
    position:absolute;>
    <table align="left"  >
        <tr>

            <td>

    <script type="text/javascript">
    google_ad_client = "pub-8053364320905290";
    google_ad_slot = "8978886895";
    google_ad_width = 120;
    google_ad_height = 600;
    </script>
    <script type="text/javascript"
    src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
    </script>
            </td>
        </tr>

    </table>

    </div>

    <script type="text/javascript">
    function guestload()
    {
    document.getElementById('glol').style.display="block";
    }
    window.onload=guestload
    </script>

    הנה החלק שבקובץ tzd.JS:

    var persistclose=0
    var startX = 30
    var startY = 38
    var verticalpos="fromtop"

    function iecompattest(){
    return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
    }

    function get_cookie(Name) {
    var search = Name + "="
    var returnvalue = "";
    if (document.cookie.length > 0) {
    offset = document.cookie.indexOf(search)
    if (offset != -1) {
    offset += search.length
    end = document.cookie.indexOf(";", offset);
    if (end == -1) end = document.cookie.length;
    returnvalue=unescape(document.cookie.substring(offset, end))
    }
    }
    return returnvalue;
    }

    function closebar(){
    if (persistclose)
    document.cookie="remainclosed=1"
    document.getElementById("glol").style.visibility="hidden"
    }

    function staticbar(){
    barheight=document.getElementById("glol").offsetHeight

    var ns = (navigator.appName.indexOf("Netscape") != -1) || window.opera;
    var d = document;
    function ml(id){
    var el=d.getElementById(id);
    if (!persistclose || persistclose && get_cookie("remainclosed")=="")
    el.style.visibility="visible"
    if(d.layers)el.style=el;
    el.sP=function(x,y){this.style.left=x+"px";this.style.top=y+"px";};
    el.x = startX;
    if (verticalpos=="fromtop")
    el.y = startY;
    else{
    el.y = ns ? pageYOffset + innerHeight : iecompattest().scrollTop + iecompattest().clientHeight;
    el.y -= startY;
    }
    return el;
    }
    window.stayTopLeft=function(){
    if (verticalpos=="fromtop"){
    var pY = ns ? pageYOffset : iecompattest().scrollTop;
    ftlObj.y += (pY + startY – ftlObj.y)/8;
    }
    else{
    var pY = ns ? pageYOffset + innerHeight – barheight: iecompattest().scrollTop + iecompattest().clientHeight – barheight;
    ftlObj.y += (pY – startY – ftlObj.y)/8;
    }
    ftlObj.sP(ftlObj.x, ftlObj.y);
    setTimeout("stayTopLeft()", 1);
    }
    ftlObj = ml("glol");
    stayTopLeft();
    }

    if (window.addEventListener)
    window.addEventListener("load", staticbar, false)
    else if (window.attachEvent)
    window.attachEvent("onload", staticbar)
    else if (document.getElementById)
    window.onload=staticbar

    ותודה רבה שוב!

  4. BuildHome הגיב:

    אוקי
    קודם כל,להבא תיישרי קודים כי לא מבינים אותם כך.
    בנוסף, לא ציינת מה בדיוק הבעיה. מה לא עובד?

    בכל אופן, אם יש לך קובץ JS באתר, חבל לשים את הקוד שהבאתי לך בעמוד עצמו אלא תוסיפי את הקוד בהפיכה לפונקציה ב-ONLOAD בקובץ ה-JS שלך:
    window.onload = function() {
        if (screen.width<1600 && document.getElementById('glol'))
            document.getElementById('glol').style.display = 'none';
    }

    תוסיפי את הקוד הנ"ל בתוך הקובץ JS הקיים שלך, בסופו.

    אם לא עובד – תגידי לי בדיוק מה לא עובד, מה השגיאה.


    "החיים הם רק הדרך במסע הנפש", בילד 2004-2008 <img src='/images/6.gif'>
    http://Www.Torec.Net &nbsp;* http://Www.Torec.In

  5. israela הגיב:

    תגובה
    http://www.upfree.net/1786320
    מצורף קובץ ראר הכולל בתוכו את:
    1. הקוד שבתוך ה-HEAD(קובץ טקסט)
    2. הקוד שבקובץ JS לפני השינוי
    3. הקוד שבקובץ JS לאחר השינוי (כדי שתבדוק אם לא מיקמתי טוב כי זה עדיין לא עובד, את הפרסומת רואים והיא נגללת אך היא לא נעלמת במי שיש לו פחות מרזולוציית 1600).

    ושוב, תודה – לא ציפיתי לכזו מסירות.

  6. BuildHome הגיב:

    אוקי
    1. בקובץ JS של אחרי השינוי יש פעמיים את הקוד שהבאתי לך, למה?

    2. למה בקובץ טקסט, נתת כבר על ההתחלה ל-DIV שלך את ההגדרה display:none? ולמה להשתמש גם ב-DIV וגם ב-TABLE?

    3. הקוד של guestload ממש מיותר.

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

    ממליץ לך להתחיל וללמוד JS כי יש לך קודים מיותרים.


    "החיים הם רק הדרך במסע הנפש", בילד 2004-2008 <img src='/images/6.gif'>
    http://Www.Torec.Net &nbsp;* http://Www.Torec.In

  7. israela הגיב:

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

  8. BuildHome הגיב:

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


    "החיים הם רק הדרך במסע הנפש", בילד 2004-2008 <img src='/images/6.gif'>
    http://Www.Torec.Net &nbsp;* http://Www.Torec.In

  9. israela הגיב:

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

  10. BuildHome הגיב:

    תשובה
    משתמשים עם DISPLAY ב-CSS כדי להציג או להסתיר.
    בדיוק כמו כאן בפורום שאת לוחצת על הודעה כדי להציג או להסתיר אותה.

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


    "החיים הם רק הדרך במסע הנפש", בילד 2004-2008 <img src='/images/6.gif'>
    http://Www.Torec.Net &nbsp;* http://Www.Torec.In

  11. israela הגיב:

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

    תודה רבה, עזרת לי הרבה.

    ד"א: למה אתה מתכוון כשאתה אומר שהשימוש בסקריפט מאתר אחר מסוכן ? לשורות שעושות משהו עם הקוקיס ? לבדוק את זה לעומד אתה מציע ?

  12. BuildHome הגיב:

    תשובה
    1. אני מניח שיש לך פונקציה שמשנה את המיקום של הפרסומות לשמאל (עם float או משהו position). לא בעיה לפתור אני מניח.

    2. תחליפי בקוד שהבאתי לך את "screen.width" ל-"document.body.offsetWidth" (בלי מרכאות). אם המשתמש יקטין את החלון ידנית (כלומר לא מסך מלא) אז הקוד יוכל לזהות את הגודל האמיתי של החלון. כדי שזה יהיה רלוונטי לגביך, תצטרכי לעשות הרצה אוטומטית כל 5 שניות למשל לפונקציה הזאת כך שאם המשתמש נכנס לאתר והפרסומת מופיעה ואחרי כמה שניות הוא רוצה לשנות את גודל החלון, שהפרסומת תעלם בהתאם, אחרת לא שימושי.

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


    "החיים הם רק הדרך במסע הנפש", בילד 2004-2008 <img src='/images/6.gif'>
    http://Www.Torec.Net &nbsp;* http://Www.Torec.In

שלח תשובה