近期專案中遇到的問題和相應的解決方法
阿新 • • 發佈:2019-01-03
1、ie與chrome的幾個不相容的地方
a,chrome下面設定了元素的nodeName不會有問題,但是在ie下面如果執行了設定元素nodeName的程式碼,將不會正確執行
b、ie下面的元素用.style.display="none"設定隱藏後結果還是佔據了它原有的高度,最後發現是它引用的css的問題,於是我加了一段js程式碼把該div隱藏後又修改了它的class屬性,問題解決啦
2、用ul列表來排列圖片,然後設定css的hover事件時更改背景圖片,開始在chrom下面是正常的但是在ie下面沒反應,最後在網上查詢發現原來ie不支援除a標籤以外的其他元素的hover事件,於是就用了jquery的hover事件,採用js指令碼的形式來解決了這個問題;
3、點選座位時顯示選中標識的圖片,策略是,呼叫點選事件的方法,獲取產生點選事件的div的id,然後用這個id+"_img"來組合成該標識圖片的id,然後控制顯示與隱藏
4、設定label元素中的text,可以採用.innerHtml=***,這種方法
5、在搜狗瀏覽器下面測試程式碼,功能程式碼是ajaxupload的使用程式碼,在服務端儲存檔案成功後返回一個字串"success",然後在客戶端程式碼檢測,如果為success的話進行成功處理,否則進行失敗處理,然後問題就出現啦,每次上傳圖片後都是以失敗進行的出來,但是檢視菜品詳情的時候又可以看到正確圖片。通過程式碼測試和alert,發現在客戶端接受服務端返回的字串出了我們要求返回的"success"串,後面還跟了很多瀏覽器端的程式碼,於是就採用了js字串處理方法indexOf,來判斷success的起始位置,如果為0則說明上傳成功!
6、ie下面設定整個div居中,設定方法為margin:0 auto,但是發現沒有居中效果,程式碼在chrome下執行有居中效果。在網上查詢,發現原來ie下面要在body裡面生命text-align:center,然後過載margin,再在div中用上面的方法設定div就可以讓它居中啦。
7、無法更新EntitySet“*****”,因為它有一個DefiningQuery,而元素中沒有支援當前操作的元素”問題的解決方法。這個問題出現的原因是因為實體類框架要求每張表要有主鍵,如果沒有主鍵的話就會報出這個錯誤,只需要在相應的資料庫表中指定或者加入主鍵,然後更新edmx檔案問題就解決啦。
a,chrome下面設定了元素的nodeName不會有問題,但是在ie下面如果執行了設定元素nodeName的程式碼,將不會正確執行
b、ie下面的元素用.style.display="none"設定隱藏後結果還是佔據了它原有的高度,最後發現是它引用的css的問題,於是我加了一段js程式碼把該div隱藏後又修改了它的class屬性,問題解決啦
2、用ul列表來排列圖片,然後設定css的hover事件時更改背景圖片,開始在chrom下面是正常的但是在ie下面沒反應,最後在網上查詢發現原來ie不支援除a標籤以外的其他元素的hover事件,於是就用了jquery的hover事件,採用js指令碼的形式來解決了這個問題;
3、點選座位時顯示選中標識的圖片,策略是,呼叫點選事件的方法,獲取產生點選事件的div的id,然後用這個id+"_img"來組合成該標識圖片的id,然後控制顯示與隱藏
4、設定label元素中的text,可以採用.innerHtml=***,這種方法
5、在搜狗瀏覽器下面測試程式碼,功能程式碼是ajaxupload的使用程式碼,在服務端儲存檔案成功後返回一個字串"success",然後在客戶端程式碼檢測,如果為success的話進行成功處理,否則進行失敗處理,然後問題就出現啦,每次上傳圖片後都是以失敗進行的出來,但是檢視菜品詳情的時候又可以看到正確圖片。通過程式碼測試和alert,發現在客戶端接受服務端返回的字串出了我們要求返回的"success"串,後面還跟了很多瀏覽器端的程式碼,於是就採用了js字串處理方法indexOf,來判斷success的起始位置,如果為0則說明上傳成功!
6、ie下面設定整個div居中,設定方法為margin:0 auto,但是發現沒有居中效果,程式碼在chrome下執行有居中效果。在網上查詢,發現原來ie下面要在body裡面生命text-align:center,然後過載margin,再在div中用上面的方法設定div就可以讓它居中啦。
7、無法更新EntitySet“*****”,因為它有一個DefiningQuery,而元素中沒有支援當前操作的元素”問題的解決方法。這個問題出現的原因是因為實體類框架要求每張表要有主鍵,如果沒有主鍵的話就會報出這個錯誤,只需要在相應的資料庫表中指定或者加入主鍵,然後更新edmx檔案問題就解決啦。