一、瀏覽器地址欄運(yùn)行JavaScript代碼
這個(gè)很多人應(yīng)該還是知道的,在瀏覽器地址欄可以直接運(yùn)行JavaScript代碼,做法是以javascript:開頭后跟要執(zhí)行的語(yǔ)句。比如:
javascript:alert('hello from address bar :)');
將以上代碼貼到瀏覽器地址欄回車后alert正常執(zhí)行,一個(gè)彈窗神現(xiàn)。
你去試一試,是不是沒有出現(xiàn)彈窗???
那是因?yàn)椋?/p>
如果是通過copy paste代碼到瀏覽器地址欄的話,
IE及Chrome會(huì)自動(dòng)去掉代碼開頭的javascript:,所以需要手動(dòng)添加起來才能正確執(zhí)行,
而Firefox中雖然不會(huì)自動(dòng)去掉,但它根本就不支持在地址欄運(yùn)行JS代碼,
sigh~
二、瀏覽器地址欄運(yùn)行HTML代碼
如果說上面那條小秘密知道的人還算多的話,這條秘笈知道的人就要少一些了,在非IE內(nèi)核的瀏覽器地址欄可以直接運(yùn)行HTML代碼!
比如在地址欄輸入以下代碼然后回車運(yùn)行,會(huì)出現(xiàn)指定的頁(yè)面內(nèi)容。
三、把瀏覽器當(dāng)編輯器
還是瀏覽器地址欄上做文章,將以下代碼貼到地址欄運(yùn)行后瀏覽器變成了一個(gè)原始而簡(jiǎn)單的編輯器,與Windows自帶的notepad一樣。
歸根結(jié)底多虧了HTML5中新加的contenteditable屬性,當(dāng)元素指定了該屬性后,元素的內(nèi)容成為可編輯狀態(tài)。
推而廣之,將以下代碼放到console執(zhí)行后,整個(gè)頁(yè)面將變得可編輯,隨意踐踏吧~
document.body.contentEditable='true';
四、利用a標(biāo)簽自動(dòng)解析URL
很多時(shí)候我們有從一個(gè)URL中提取域名,查詢關(guān)鍵字,變量參數(shù)值等的需要,而萬(wàn)萬(wàn)沒想到可以讓瀏覽器方便地幫我們完成這一任務(wù)而不用我們寫正則去抓取。方法就在JS代碼里先創(chuàng)建一個(gè)a標(biāo)簽然后將需要解析的URL賦值給a的href屬性,然后就得到了一切我們想要的了。
五、頁(yè)面擁有ID的元素會(huì)創(chuàng)建全局變量
在一張HTML頁(yè)面中,所有設(shè)置了ID屬性的元素會(huì)在JavaScript的執(zhí)行環(huán)境中創(chuàng)建對(duì)應(yīng)的全局變量,這意味著document.getElementById像人的闌尾一樣顯得多余了。但實(shí)際項(xiàng)目中最好老老實(shí)實(shí)該怎么寫就怎么寫,畢竟常規(guī)代碼出亂子的機(jī)會(huì)要小得多。
六、加載CDN文件時(shí),可以省掉HTTP標(biāo)識(shí)
現(xiàn)在很流行的CDN即從專門的服務(wù)器加載一些通用的JS和CSS文件,出于安全考慮有的CDN服務(wù)器使用HTTPS方式連接,而有的是傳統(tǒng)的HTTP,其實(shí)我們?cè)谑褂脮r(shí)可以忽略掉這個(gè),將它從URL中省去。
<script src="http://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
七、不聲明第三個(gè)變量的值交換
我們都知道交換兩個(gè)變量值的常規(guī)做法,那就是聲明一個(gè)中間變量來暫存。但鮮有人去挑戰(zhàn)不聲明中間變量的情況,下面的代碼給出了這種實(shí)現(xiàn)。蠻有創(chuàng)意 的。
var a=1,b=2;a=[b,b=a][0];
八、禁止別人以iframe加載你的頁(yè)面
下面的代碼已經(jīng)不言自明了,沒什么好多說的。
九、console.table
Chrome專屬,IE繞道的console方法??梢詫avaScript關(guān)聯(lián)數(shù)組以表格形式輸出到瀏覽器console,效果很驚贊,界面很美觀。
更多關(guān)于前端培訓(xùn)的問題,歡迎咨詢千鋒教育在線名師。千鋒教育擁有多年IT培訓(xùn)服務(wù)經(jīng)驗(yàn),采用全程面授高品質(zhì)、高體驗(yàn)培養(yǎng)模式,擁有國(guó)內(nèi)一體化教學(xué)管理及學(xué)員服務(wù),助力更多學(xué)員實(shí)現(xiàn)高薪夢(mèng)想。
注:本文部分文字和圖片來源于網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系刪除。版權(quán)歸原作者所有!