7个HTML你可能不知道的使用技巧
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>3、你造么,可以把瀏覽器當編輯器
還是瀏覽器地址欄上做文章,將以下代碼貼到地址欄運行后瀏覽器變成了一個原始而簡單的編輯器,與Windows自帶的notepad一樣,吼吼。
data:text/html,?<html contenteditable>歸根結底多虧了HTML5中新加的contenteditable屬性,當元素指定了該屬性后,元素的內容成為可編輯狀態。
推而廣之,將以下代碼放到console執行后,整個頁面將變得可編輯,隨意踐踏吧~
document.body.contentEditable='true';4、利用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);利用這一原理,稍微擴展一下,就得到了一個更加健壯的解析URL各部分的通用方法了。下面代碼來自James的博客。
function?parseURL(url)?{?var?a?=?document.createElement('a');?a.href?=?url;?return?{?source:?url,?protocol:?a.protocol.replace(':',''),?host:?a.hostname,?port:?a.port,?query:?a.search,?params:?(function(){?var?ret?=?{},?seg?=a.search.replace(/^\?/,'').split('&'),?len?=?seg.length,?i?=?0,?s;?for?(;i<len;i++)?{?if?(!seg[i])?{?continue;?}s?=?seg[i].split('=');?ret[s[0]]?=?s[1];?}?return?ret;?})(),?file:?(a.pathname.match(/\/([^\/?#]+)$/i)?||?[,''])[1],?hash:?a.hash.replace('#',''),?path:?a.pathname.replace(/^([^\/])/,'/$1'),?relative:?(a.href.match(/tps?:\/\/[^\/]+(.+)/)?||?[,''])[1],?segments:?a.pathname.replace(/^\//,'').split('/')?};?}5、頁面擁有ID的元素會創建全局變量
在一張HTML頁面中,所有設置了ID屬性的元素會在JavaScript的執行環境中創建對應的全局變量,這意味著document.getElementById像人的闌尾一樣顯得多余了。但實際項目中最好老老實實該怎么寫就怎么寫,畢竟常規代碼出亂子的機會要小得多。
<div?id="sample"></div>?<script?type="text/javascript">?console.log(sample);?</script>6、加載CDN文件時,可以省掉HTTP標識
現在很流行的CDN即從專門的服務器加載一些通用的JS和CSS文件,出于安全考慮有的CDN服務器使用HTTPS方式連接,而有的是傳統的HTTP,其實我們在使用時可以忽略掉這個,將它從URL中省去。
<script?src="//domain.com/path/to/script.js"></script>這一點在之前一篇譯文博客《jQuery編程最佳實踐》中也有提到。
7、利用script標簽保存任意信息
將script標簽設置為type=’text’然后可以在里面保存任意信息,之后可以在JavaScript代碼中很方便地獲取。
<script?type="text"?id="template">?<h1>This?won't display</h1>?</script>var?text?=?document.getElementById('template').innerHTML動漫壁紙
文章推薦程序員效率:畫流程圖常用的工具程序員效率:整理常用的在線筆記軟件遠程辦公:常用的遠程協助軟件,你都知道嗎?51單片機程序下載、ISP及串口基礎知識硬件:斷路器、接觸器、繼電器基礎知識
總結
以上是生活随笔為你收集整理的7个HTML你可能不知道的使用技巧的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 7个CSS你可能不知道的技巧
- 下一篇: Mac 下安装配置 Python 开发环