⑴ 前端開發時遇到過什麼坑尤其是webapp開發時
這個問題前幾天剛剛總結了一下,之前已在知乎上回答過類似問題,
1、tap事件穿透(解決方案:click事件代替, 或者嘗試fastclick這個框架);
或者嘗試下面的辦法重寫一下zepto綁定的事件
/*************** 重寫zepto on方法避免事件穿透 ******************/
(function() {
var INTERVAL_MIN = 500;
var lastCalledTime = (new Date()).getTime();
function throttle(handler) {
return function() {
var curTime = (new Date()).getTime();
//兩次tap事件的間隔如果不大於500
if(curTime - lastCalledTime > INTERVAL_MIN) {
lastCalledTime = curTime;
handler.apply(this, arguments);
}
}
}
var oldOn = $.fn.on;
$.fn.on = function( evt ){
if(evt === 'tap'){
var args = Array.prototype.slice.call(arguments);
var handlerIndex;
for(var i = 0; i < args.length; i++) {
if(typeof args[i] === 'function') {
handlerIndex = i;
break;
}
}
args[handlerIndex] = throttle(args[handlerIndex]);
this.on('click', function(e) {
e.preventDefault();
});
return oldOn.apply( this, args );
}
return oldOn.apply( this, arguments );
};
})();
解決原理:正常有意義的用戶操作不會在500毫秒內連續觸發兩次tap事件,如果發現兩次tap事件的時間間隔不大於500毫秒則阻止第二次tap事件
有兩個副作用和一個不能修復的問題
(1). 可能會穿透點到a鏈接上,需要額外給a綁定tap事件,在js中進行跳轉
(2). trigger主動觸發得時候可能有問題
(3).無法解決跨頁面的穿透問題
2、fixed的元素有input框時在ios上的bug(可以考慮頭和底部定高,中間加上一個iScroll的內容區域實現頭尾固定,中間內容滑動的UI交互布局);
3、離線緩存更新成功後必須刷新頁面才能顯示新的修改(寫個全局的方法,監聽updateready後,主動幫用戶刷新一次頁面);
4、UC瀏覽器不支持alert(建議用自己通用的彈窗方法);
5、同樣的zepto寫的選擇器,有時候層級過深在某些瀏覽器中失效(在節點class和id上命名上合理分配,用常規選擇器串);
6、QQ瀏覽器SVG失效;
7、chrome和小米自帶的手機瀏覽器,開發調試時不走代理(可以下載chrome的beta版)
⑵ 領導說,個人寫的代碼超過8個bug就要開除,是否太嚴格了
這確實是太嚴格了,這樣可能會導致員工消極怠工,員工都把時間精力用在檢查是否有bug上面了,這樣員工一天寫的代碼估計都沒有多少。其實可以獎勵buy數最少、寫代碼最多的員工,把獎品設置地足夠誘人,大家為了得到獎品,寫得多同時出的錯也少,這比開除員工顯得更加人性化了。
所以個人寫的代碼超過8個bug就要開除這種方法其實是不可行的,這樣無異於阻礙公司的發展。領導想要程序員有質有量的完成任務,還是要想出別的對策。
⑶ 前端js 遇到難以重現的 bug 該怎麼辦
推薦使用Fundebug監控。Fundebug的用戶行為記錄可以幫助你更好地去理解BUG的成因,快速復現bug。
⑷ 前端VUE 最神奇的BUG
能否來個完整代碼圖片, 你這說的不明不白的
⑸ web前端這個字體BUG怎麼的
這個bug是由於h3標簽本身自帶的標簽產生的,
望採納!謝謝!
⑹ 前端開發都包括哪些技術
前端開發是創建Web頁面或app等前端界面呈現給用戶的過程,通過HTML,CSS及JavaScript以及衍生出來的各種技術、框架、解決方案,來實現互聯網產品的用戶界面交互 [1] 。隨著互聯網技術的發展和HTML5、CSS3的應用,現代網頁更加美觀,交互效果顯著,功能更加強大。
前端開發則是網站的前台代碼實現,包括基本的HTML和CSS以及JavaScript/ajax,最新的高級版本HTML5、CSS3,以及SVG等。
前端開發需要學習的技術
1 掌握基本web前端開發技術:HTML、CSS、JavaScript、DOM、BOM、AJAX等,而且要了解它們在不同瀏覽器上的兼容情況、渲染原理和存在的Bug
2 必須掌握網站性能優化、SEO和伺服器端開發技術的基礎知識
3 必須學會運用各種web前端開發與測試工具進行輔助開發
4 除了掌握技術層面的知識,還要掌握理論層面的知識,包括代碼的可維護性、組件的易用性、分層語義模板和瀏覽器分級支持等
5 未來web前端開發工程師還要研究HTML5、web視覺設計、網站配色、網站交互設計模式等相關技術
web前端有廣闊的發展空間,app、小程序、移動端、pc端等都網站是需要前端技術的開發支持才能夠完成,技術門檻相對較低、需求量較大,薪資待遇良好。只要是互聯網端的客戶界面,就需要前端來製作完成,前端開發的編程量不大,但是需要部分編程,入門簡單,但是要學的深入需要一個過程。
Web前端招聘崗位
• 前端開發工程師、Web開發工程師、網頁開發工程師、HTML開發工程師...
• H5開發工程師、移動應用開發工程師、App開發工程師、小程序開發工程師...
• JS開發工程師、Vue.js開發工程師、Node.js開發工程師、前端架構師...
• 小游戲開發工程師、數據可視化開發工程師、WebGL開發工程師、WebVR開 發工程師、Web安全工程師...
⑺ 前端開發遇到的問題與怎麼解決的
最終解決方法:願化蝶飛向,註定是錯覺,前端開發遇題與解決只是,不要高估情的美。,對方留下各種各樣的印記。中間的小邪送出了。對每個人微笑。
⑻ 前端開發bug如何快速
1,根據報錯信息定位:
(1) Uncaught TypeError: Cannot read property 'attr' of undefined;
此類型為變數或者對象屬性未定義類型。
(2) Uncaught TypeError: a.map is not a function;
a.map不是函數,說明a不是數組,只有數組才有map方法。
(3) Uncaught SyntaxError: Invalid or unexpected token;
這種一般是js的代碼格式錯誤。
2, 排除法
頁面中一共有abcd五個方法,注釋掉d後代碼正常說明d有問題。
3,剝離法
同樣一個方法,在A頁面沒問題,在B頁面有問題,這時候,新建一個剝離這個組件,然後運行,如果沒有異常,就算不是這個組件或者方法的問題,然後逐漸在新頁面中加入可能影響B頁面的條件。
⑼ 求助小白自學前端,但是不知道怎麼找BUG
那方面的bug 呢,頁面還是邏輯代碼
頁面bug 可以在瀏覽器 delete 按鍵一個元素一個元素的刪除排查,刷新就都恢復了
邏輯代碼這個不好說,需要經驗和時間
⑽ 常見前台bug區分
前端bug主要分為3個類別:HTML、CSS、Javascript三類問題
出現樣式的問題基本都是CSS的Bug
出現文本的問題基本都是Html的Bug
出現交互類的問題基本都是Javascript的Bug
黑馬程序員視頻庫上的課程基礎知識都很全面,可以空閑的時候進行免費學習。