Web開發常用代碼:背投廣告_XHTML教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!
        
      Web開發常用代碼:背投廣告

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

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

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

        代碼可編寫如下:

       示例代碼 [www.wf0088.com]
      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 參數內容

      來源:52CSS//所屬分類:XHTML教程/更新時間:2009-11-21
      相關XHTML教程