網路廣告真的是一塊大餅,連 Hinet 都無所不用其極的想在每個網頁中都加上廣告。之前是使用一個彈出式的視窗來顯示廣告,現在更是猛啦~直接幫使用者的網頁包在 Frameset 中,然後再切出一塊來顯示廣告。
可別以為右半邊的圖片是我自己加進去的唷,那可是 Hinet 的廣告樣式啊!這樣一來的話~連同原先的彈出式廣告,現在又多了一個廣告了,且新廣告根本就已經佔據了使用者網頁約 1/7 了嘛,廣告又那些大那麼礙眼,真是氣死人了啦!
擋彈出式廣告的語法可在防止 Hinet 空間的廣告彈出或防止 Hinet 空間的廣告彈出(二)中找到,現在~就要來教大家怎樣把那佔了網頁約 1/7 的廣告給隱藏起來。
在開始教之前要先說明一下此次 Hinet 新式廣告的執行原理。Hinet 現在是在網頁的開頭加上了廣告的語法
1 2 3 4 5 6 |
<script language = "JavaScript" SRC="http://hiad.myweb.hinet.net/new-inner.js"></script> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="zh-tw"> <head> <meta name="Generator" content="EditPlus" /> <meta name="Author" content="男丁格爾's 脫殼玩" /> |
所以想用之前的方式躲是不行的,因此只能使用消極的方法-隱藏它。
因為 Hinet 它們是使用 document.write 的方式加入 Frameset 來改寫網頁的內容,因此我們只能去把廣告框架的部份給隱藏起來(雖然看不見,但它依舊存在)。
只要在網頁的開頭加上
1 2 3 4 5 6 7 8 9 10 |
<script type="text/javascript"> try{ parent.document.getElementById("MywebFrameSet").cols="*,0"; }catch(err){} </script> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="zh-tw"> <head> <meta name="Generator" content="EditPlus" /> <meta name="Author" content="男丁格爾's 脫殼玩" /> |
這樣就能在廣告出現時就馬上隱藏起來了,但彈出式廣告的語法還是要記得加上喔!這樣一來就有個沒廣告的網頁了
雖然感覺有點美中不足,但加減用吧,誰叫我們使用 Hinet 提供的免費網頁空間呢!
另外還有網友提到用 Domain 方式去轉的就不會有新的廣告出現,各位可以試試看。不過別用免費的轉址服務咧,那些服務大多也是帶有廣告的啊!
2008/07/08 Hinet 廣告程式更新
原本以為這樣改完就能相安無事了,誰知道 Hinet 廣告程式邊測試邊改,所以原本只是加入一個 Frameset 而已,現在會因瀏覽者螢幕的寬及一些條件來變更顯示的廣告圖片大小,因此又有可能會多加另外兩個 Frameset,所以如果只用之前的方法的話,現在可能還是會看到廣告
現在讓我們再動手修改一下擋廣告的語法
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<script type="text/javascript"> try{ var _hinet = parent.document.getElementsByTagName("frameset"); for(var i=0;i<_hinet.length;i++){ _hinet[i].cols="*,0"; } }catch(err){} </script> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="zh-tw"> <head> <meta name="Generator" content="EditPlus" /> <meta name="Author" content="男丁格爾's 脫殼玩" /> |
嘿~只要把全部的 Frameset 都設定一次,管它有幾個 Frameset 也不用怕。這樣又能還給我們網頁一個乾淨的畫面囉!
另外有網友的網頁本身就有用到 Frameset,當有用到上面的方式的話,可能會破壞掉自己本身的網頁框架結構,所以就要指定我們要擋掉的 Frameset 是那幾個。目前知道 Hinet 的 Frameset 框架 ID 為 MywebFrameSet、MywebFrameSet_300250 、 MywebFrameSet_120300 及 MywebFrameSet_160600 等 4 個,因此只要用一開始教的方式來一一擋掉即可:
一樣是在網頁開頭加上
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<script type="text/javascript"> try{ parent.document.getElementById("MywebFrameSet").cols="*,0"; }catch(err){} try{ parent.document.getElementById("MywebFrameSet_300250").cols="*,0"; }catch(err){} try{ parent.document.getElementById("MywebFrameSet_120300").cols="*,0"; }catch(err){} try{ parent.document.getElementById("MywebFrameSet_160600").cols="*,0"; }catch(err){} </script> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="zh-tw"> <head> <meta name="Generator" content="EditPlus" /> <meta name="Author" content="男丁格爾's 脫殼玩" /> |
或是判斷關鍵字 MywebFrameSet 來做過慮的動作也可以:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<script type="text/javascript"> try{ var _hinet = parent.document.getElementsByTagName("frameset"); for(var i=0;i<_hinet.length;i++){ if(_hinet[i].id.indexOf("MywebFrameSet")>=0){ _hinet[i].cols="*,0"; } } }catch(err){} </script> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="zh-tw"> <head> <meta name="Generator" content="EditPlus" /> <meta name="Author" content="男丁格爾's 脫殼玩" /> |
未使用語法前的畫面
使用上述兩種語法後的畫面
還有一點,現在 Hinet 好像要把廣告主力改為框架式的,但如果是經過轉址的話,它雖然不會在網頁中加入框架,但是會有彈出式廣告,因此除了以上的語法之外,建議如果有用轉址的網友請再加上:
1 2 3 4 5 6 7 8 9 10 11 |
<script type="text/javascript"> try{ ADPage.close(); }catch(err){} CheckADPage = function(){}; </script> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="zh-tw"> <head> <meta name="Generator" content="EditPlus" /> <meta name="Author" content="男丁格爾's 脫殼玩" /> |
範例瀏覽:
http://abgne.myweb.hinet.net/Teacher/0012/0012_1.html (無框架)
http://abgne.myweb.hinet.net/Teacher/0012/0012_2.html (有框架)