解決angular中的瀏覽器相容性問題的方法介紹
angular中的瀏覽器相容性問題怎麼解決?下面這篇文章跟大家介紹一下。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有幫助。
相關教學推薦:《angular教學》
##問題#:edge瀏覽器下,固定列的邊框消失
原因:ng-zorro-antd表格元件使用nzLeft和nzRight指令固定的表格列,這兩個指令的實作css3中的標籤:
position: -webkit-sticky !important; position: sticky !important;
Edge瀏覽器在1703之後的版本使用了chromium內核,對css3的屬性支援較好,也支援sticky屬性,可以使用,可以固定表格列,但邊框會消失。
解決方案:目前可行的解決方案有以下幾種:
- 不使用固定列,若產品沒有明確要求使用固定列,可以放棄使用nzLeft及nzRight來固定表格。從而使各個瀏覽器下的展示效果一致。
- 針對Edge瀏覽器降級處理,與IE瀏覽器效果一致,無固定列,整體可橫向捲動。 自訂實作固定列,不使用元件的固定列實現,透過使用
- position: absolute;
這種方式來實現表格的固定列。
.scroll-table { width: 100%; overflow-x: scroll; }
.fixed-table { width: 1300px; /* 可由th,td动态扩充,也可指定宽度 */ border-collapse: collapse; }
<p class="scroll-table"> <table class="fixed-table"> <thead> <tr> <th>无效背景板</th> <th class="fixed-col">固定列</th> </tr> </thead> <tbody> <tr> <td>无效背景板</td> <td class="fixed-col">固定列</td> </tr> </tbody> </table> </p>
問題:Edge瀏覽器的行事曆(nz-range-picker)確認按鈕需要點兩次
原因:尚未明確
#解決方案:
- 升級元件版本,目前ng-zorro-antd 8.5之上的版本未見這個問題。
- 自訂頁腳,加入額外的頁腳,來取代確定功能,此時有兩種方式來實現:只覆蓋對應的按鈕,如確定按鈕,此時按鈕的樣式與預設的頁腳按鈕是不一致的,為保持一致,可以自訂樣式,也可以直接使用預設頁腳中按鈕的樣式,下例中選擇直接使用元件庫的樣式:ant-calendar -ok-btn,第二步驟是覆寫原來的按鈕,可以使用絕對定位的方式來實現覆蓋:
<nz-range-picker [nzRenderExtraFooter]="renderExtraFooterTpl"> <ng-template #renderExtraFooterTpl> <p> <button nz-button nzType="primary" class="ant-calendar-ok-btn abs-right">确 定</button> </p> </ng-template>
.abs-right { position: absolute; right: 12px; top: 7px; z-index: 1; box-shadow: none; }
::ng-deep .ant-calendar-footer-btn { display: none; }
問題:IE瀏覽器下,在多個tab頁面中切換,echart所在容器高度崩潰
原因:IE瀏覽器下父元素無法動態調整高度(即透過子元素動態改變調整高度)
解決方案 #:固定echart圖表所在的容器高度
問題#:IE瀏覽器下,初始化表單時,觸發表單驗證
原因:這個是IE的問題,IE10 實作了input事件,但是觸發的時機卻是錯誤的。例如在placeholder改變時,placeholder的文字不是英語的時候就會觸發,Edge15 修復了這個問題,但是IE可能永遠不會修復這個問題。
解決方案:
- 使用表单的reset()重置表单,但是重置的操作需要放在setTimeout中,或者通过其他手段将重置的操作作为表单初始化时的最后一个宏任务执行。这种方式经验证,最终的效果是,初始化表单后,表单输入元素的边框闪烁(红色)一下。
- 使用自定义的服务商插件(较为推荐),这种方式对原有代码的破坏性小(遵循了OCP原则),该插件是由DerSizeS提供的。只需要在对应的module中增加一个服务商即可
@NgModule({ providers: [{ provide: EVENT_MANAGER_PLUGINS, multi: true, useClass: UniqueInputEventPlugin, deps: [UNIQUE_INPUT_EVENT_PLUGIN_CONFIG], }] }) class MyModule {}
需要注意的是,插件需要自己添加到项目文件中(根据angular团队所说,这个插件修复了一个IE10或者IE11的bug,但是提交了太多的代码,这会给增加现有的应用的打包体积,虽然后面关于这个PR讨论了挺久,但是看样子是准备把这个放到FAQ里面,而不会把他并入框架),并在对应的模块中引用。
另注:IE的输入框会因为placeholder为中文而触发表单验证,placeholder改变了也会触发表单验证,所以,有一个讨巧的方法,placeholder里面的内容写成英文形式(推荐),但这显然不符合中文产品的需求,而且这显然没有国际化。所以可以想办法绕过这一条,使用 HTML实体(已验证,可行),Unicode编码(不可以)
更多编程相关知识,请访问:编程入门!!
以上是解決angular中的瀏覽器相容性問題的方法介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

Angular.js是一種可自由存取的JavaScript平台,用於建立動態應用程式。它允許您透過擴展HTML的語法作為模板語言,以快速、清晰地表示應用程式的各個方面。 Angular.js提供了一系列工具,可協助您編寫、更新和測試程式碼。此外,它還提供了許多功能,如路由和表單管理。本指南將討論在Ubuntu24上安裝Angular的方法。首先,您需要安裝Node.js。 Node.js是一個基於ChromeV8引擎的JavaScript運行環境,可讓您在伺服器端執行JavaScript程式碼。要在Ub

PHP與Vue:完美搭檔的前端開發利器在當今網路快速發展的時代,前端開發變得愈發重要。隨著使用者對網站和應用的體驗要求越來越高,前端開發人員需要使用更有效率和靈活的工具來創建響應式和互動式的介面。 PHP和Vue.js作為前端開發領域的兩個重要技術,搭配起來可以稱得上是完美的利器。本文將探討PHP和Vue的結合,以及詳細的程式碼範例,幫助讀者更好地理解和應用這兩

Angular框架中元件的預設顯示行為不是區塊級元素。這種設計選擇促進了元件樣式的封裝,並鼓勵開發人員有意識地定義每個元件的顯示方式。透過明確設定CSS屬性 display,Angular組件的顯示可以完全控制,從而實現所需的佈局和響應能力。

Go語言在Linux系統上的相容性非常好,它能夠無縫地在各種Linux發行版上運行,並且支援不同架構的處理器。本文將介紹Go語言在Linux系統上的兼容性,並透過具體的程式碼範例展示其強大的適用性。 1.安裝Go語言環境在Linux系統上安裝Go語言環境非常簡單,只需要下載對應的Go二進位套件並設定相關環境變數。以下是在Ubuntu系統上安裝Go語言的步驟:

隨著現代科技的不斷發展,無線藍牙耳機已成為人們日常生活中不可或缺的一部分。無線耳機的出現解放了我們的雙手,讓我們可以更自由地享受音樂、通話和其他娛樂。然而,當我們乘坐飛機時,我們往往會被要求將手機設定為飛行模式。那麼問題來了,飛航模式可以用藍牙耳機嗎?在本文中,我們將探討這個問題。首先,讓我們來了解飛行模式的作用和意義。飛航模式是手機的特殊模式

1.右鍵點選程序,發現在開啟的屬性視窗中,沒有找到【相容性】選項卡。 2.在Win10桌面,右鍵點選桌面左下角的開始按鈕,在彈出的選單裡選擇【執行】選單項目。 3.這時會開啟Win10的運行窗口,在窗口中輸入gpedit.msc,然後點選確定按鈕。 4.這時會開啟本機群組原則編輯器窗口,在視窗中依序點選【電腦設定/管理範本/Windows元件】選單項目。 5.在開啟的Windows元件選單中,找到【應用程式相容性】選單項,然後在右側視窗中找到【刪除程式相容性屬性頁】設定項。 6.右鍵點選該設定項,在彈出的菜

在前端開發面試中,常見問題涵蓋廣泛,包括HTML/CSS基礎、JavaScript基礎、框架和函式庫、專案經驗、演算法和資料結構、效能最佳化、跨域請求、前端工程化、設計模式以及新技術和趨勢。面試官的問題旨在評估候選人的技術技能、專案經驗以及對行業趨勢的理解。因此,應試者應充分準備這些方面,以展現自己的能力和專業知識。

win10系統中的軟體都已經進行了很完美的優化,但是對於最新的win11用戶大家肯定都很好奇是不是可以支持這款系統,所以下面就給你們帶來了win11支不支持win10軟體詳細介紹,快來一起了解一下。 win11支援win10軟體嗎:1、Win10系統的軟體甚至是Win7系統的應用都可以很好的進行相容。 2.經過使用Win11系統的大神回饋目前還沒有出現應用不相容的問題。 3.所以大家可以放心大膽的升級,不過普通的用戶建議等到Win11發表正式版再升級。 4、Win11不僅是相容性好,而且還有Windo
