通過瀏覽器學習前端的小技巧
1、瀏覽器地址欄運行JavaScript代碼
這個很多人應該還是知道的,在瀏覽器地址欄可以直接運行JavaScript代碼,做法是以 javascript: 開頭後跟要執行的語句。比如:
javascript:alert(‘hello from address bar :)‘);
將以上代碼貼到瀏覽器地址欄回車後alert正常執行,一個彈窗神現。
需要註意的是如果是通過copy paste代碼到瀏覽器地址欄的話,IE及Chrome會自動去掉代碼開頭的javascript:,所以需要手動添加起來才能正確執行,而Firefox中雖然不會自動去掉,但它根本就不支持在地址欄運行JS代碼,sigh~
這一技術在我的另一篇博文《讓Chrome 接管郵件連接,收發郵件更方便了》中有使用到,利用在瀏覽器地址欄中執行JavaScript代碼將Gmail設置為系統的郵件接管程序。
2、瀏覽器地址欄運行HTML代碼
如果說上面那條小秘密知道的人還算多的話,這條秘笈知道的人就要少一些了,在非IE內核的瀏覽器地址欄可以直接運行HTML代碼!
比如在地址欄輸入以下代碼然後回車運行,會出現指定的頁面內容。
data:text/html,<h1>Hello, world!</h1>
歸根結底多虧了HTML5中新加的 contenteditable 屬性,當元素指定了該屬性後,元素的內容成為可編輯狀態。http://980.so/1FOGfK
推而廣之,將以下代碼放到console執行後,整個頁面將變得可編輯,隨意踐踏吧~
3、利用a標簽自動解析URL
很多時候我們有從一個URL中提取域名,查詢關鍵字,變量參數值等的需要,而萬萬沒想到可以讓瀏覽器方便地幫我們完成這一任務而不用我們寫正則去抓取。方法就在JS代碼裏先創建一個 a 標簽然後將需要解析的URL賦值給 a 的 href 屬性,然後就得到了一切我們想要的了。
var a = document.createElement(‘a‘);
a.href = ‘http://www.cnblogs.com/wayou/p/‘;
console.log(a.host);
4、頁面擁有ID的元素會創建全局變量
在一張HTML頁面中,所有設置了ID屬性的元素會在JavaScript的執行環境中創建對應的全局變量,這意味著 document.getElementById 像人的闌尾一樣顯得多余了。但實際項目中最好老老實實該怎麽寫就怎麽寫,畢竟常規代碼出亂子的機會要小得多。
通過瀏覽器學習前端的小技巧