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