在網路上看到的一段廣告程式碼
/webkit/i.test(navigator.userAgent) ? (f = d.createElement('iframe'), f.style.width = 1, f.style.height = 1, f.frameBorder = 0, d.body.appendChild(f).src = 'javascript:"<script>top.location.replace(\'' + u + '\')<\/script>"') : (d.open(), d.write(['<meta http-equiv="refresh"content="0;url=', '"/>'].join(u)), d.close());
上述程式碼在webkit核心瀏覽器下新建一個隱藏的iframe做跳轉,在IE下透過refresh跳轉,涉及到的知識點挺多的。
瀏覽器判斷
/webkit/i.test()此語法比較有奇怪,判斷UA是否有webkit關鍵字。
if( /webkit/i.test(navigator.userAgent) )// webkit内核 { alert('webkit'); } else if( /msie/i.test(navigator.userAgent) ) // ie { alert('ie'); }
Javascript匿名函數還能這樣玩
function show() { return print(); function print(){ console.log('print method'); } }
跳轉屬性
window.location.href、location.href 是本頁面跳轉
parent.location.href 是上一層頁跳到location.href 是最外層的頁跳到
refresh屬性值