DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> CSS入門知識 >> CSS詳解 >> 背投廣告設計:用最少的時間來做最效率的事情
背投廣告設計:用最少的時間來做最效率的事情
編輯:CSS詳解     

對於背投廣告的原理來說並沒有什麼難度,無非打開的窗口失去焦點(blur),而原來頁面得到焦點(focus)。但對於流行的浏覽器來說,如果非用戶行為的彈出窗口(即 onload 時,直接window.open ),會被浏覽器默認攔截。

  背投廣告,既然被稱為廣告,那如何才能讓廣告主的錢花得實在,花得樂意呢?

  我們可以增加判斷,如果該彈出窗口被浏覽器攔截,則只要用戶點擊頁面就觸發 window.open 事件,這樣一般不會攔截,浏覽器會認為這是用戶的默認行為。

  代碼可編寫如下:

var $E = YAHOO.util.Event;
var adPopup;
var popAd = function(sURL,sName,sFeatures,bReplace) {
    if (adPopup) return;
    if(sName == undefined) {
        sName = '_blank';
    };
    if(sFeatures == undefined) {
        sFeatures = '';
    };
    if(bReplace == undefined) {
        bReplace = false;
    };
    adPopup = window.open(sURL,sTarget,sFeatures,bReplace);
    adPopup.blur();
    adPopup.opener.focus();
    $E.removeListener(document.body, 'click', arguments.callee);
}
try {
    popAd();
} catch (e) {
    $E.on(document.body, 'click', popAd);
}

  當然如果用戶浏覽器安裝了攔截插件,那很有可能不會彈出(比如 Firefox 的 noscript 插件,就不允許任何彈出窗)。方法不是絕對的,也不是最好的,只是用最少的時間來做最效率的事情。

  PS:可以通過模擬 form 提交的方式來彈出窗口,穿越性(相對於一般攔截彈窗的插件)很好,不過無法設置 sFeatures 參數內容。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved