Maison interface Web js tutoriel Introduction aux méthodes pour résoudre les problèmes de compatibilité des navigateurs dans Angular

Introduction aux méthodes pour résoudre les problèmes de compatibilité des navigateurs dans Angular

Dec 04, 2020 pm 05:39 PM
angular 兼容性 前端

Comment résoudre le problème de compatibilité du navigateur dans

angular ? L’article suivant vous le présentera. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

Introduction aux méthodes pour résoudre les problèmes de compatibilité des navigateurs dans Angular

Recommandations de tutoriel associées : "tutoriel angulaire"

Question : bord Sous le navigateur, les bordures des colonnes fixes disparaissent

Cause : Le composant table ng-zorro-antd utilise les instructions nzLeft et nzRight pour corriger les colonnes du tableau. Ces deux instructions Implémentent les balises en CSS3 :

position: -webkit-sticky !important;
position: sticky !important;
Copier après la connexion

Les navigateurs Google, Firefox et -webkit-kernel prennent tous en charge cet attribut (css3 ne prend pas en charge cet attribut, donc dans IE, il sera automatiquement rétrogradé et le). le tableau sera vide. Colonne fixe, formulaire coulissant.
Le navigateur Edge utilise le noyau Chrome dans les versions postérieures à 1703, qui prend mieux en charge les attributs CSS3 et prend également en charge l'attribut sticky. Il peut être utilisé et corriger les colonnes du tableau, mais la bordure disparaîtra.

Solution :
Les solutions actuellement réalisables sont les suivantes :

  1. Ne pas utiliser de colonnes fixes Si le produit If. il n'y a aucune exigence explicite d'utiliser des colonnes fixes, vous pouvez abandonner l'utilisation de nzLeft et nzRight pour corriger la table. Cela rend l’effet d’affichage cohérent entre les navigateurs.

    Pour le traitement de rétrogradation du navigateur Edge, l'effet est cohérent avec le navigateur IE, il n'y a pas de colonnes fixes et le tout peut défiler horizontalement.

  2. Personnalisez l'implémentation de la colonne fixe, n'utilisez pas l'implémentation de la colonne fixe du composant et implémentez la colonne fixe de la table en utilisant position: absolute;.

Le processus détaillé de la deuxième solution est le suivant :

Utilisez p pour envelopper le tableau Lorsque la largeur du tableau dépasse la largeur de p, activez le défilement :

.scroll-table {
  width: 100%;
  overflow-x: scroll;
}
Copier après la connexion
Pour le tableau, nous pouvons spécifier une largeur qui dépasse la largeur p externe (afin que vous puissiez voir l'effet de défilement).

.fixed-table {
  width: 1300px; /* 可由th,td动态扩充,也可指定宽度 */
  border-collapse: collapse;
}
Copier après la connexion
Le dernier et le plus important problème est l'implémentation de colonnes fixes. C'est très simple de définir une colonne du tableau en positionnement absolu. Après avoir défini le positionnement absolu, la colonne sera séparée du document d'origine. flow. Le tableau Il manque une colonne, il faut donc ajouter un panneau d'arrière-plan pour garantir que le tableau puisse laisser une place pour cette colonne fixe.

Le code HTML est à peu près le suivant. Ce col fixe peut être le style d'une colonne fixe, ou il peut être défini sur le style du tableau d'arrière-plan. Dans la démo, il est utilisé pour spécifier le style. style de la colonne fixe.

<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>
Copier après la connexion
Code de référence : Ironape


Problème : Le bouton de confirmation du calendrier (nz-range-picker) du navigateur Edge doit être cliqué deux fois

Cause : Pas encore clair

Solution :

  1. Mettre à niveau la version du composant Actuellement, ce problème ne se produit pas dans les versions supérieures à ng-zorro-antd 8.5.
  2. Personnaliser le pied de page et ajouter un pied de page supplémentaire pour remplacer la fonction OK. Il existe deux manières d'y parvenir : ne couvre que le bouton correspondant, comme le bouton OK, À. cette fois, le style du bouton n'est pas cohérent avec le bouton de pied de page par défaut. Pour maintenir la cohérence, vous pouvez personnaliser le style ou utiliser directement le style du bouton dans le pied de page par défaut. Dans l'exemple suivant, vous choisissez d'utiliser directement le style de. la bibliothèque de composants : ant-calendar -ok-btn, la deuxième étape consiste à écraser le bouton d'origine. Vous pouvez utiliser le positionnement absolu pour réaliser l'écrasement :
  3. <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>
    Copier après la connexion
CSS correspondant :

.abs-right {
  position: absolute;
  right: 12px;
  top: 7px;
  z-index: 1;
  box-shadow: none;
}
Copier après la connexion
Supprimez le pied de page par défaut, Pied de page entièrement personnalisable. À ce stade, vous devez supprimer le pied de page d'origine. Vous pouvez supprimer le pied de page par défaut via :
::ng-deep .ant-calendar-footer-btn {
  display: none;
}
Copier après la connexion

Pour le moment, le pied de page supplémentaire ne peut pas utiliser le positionnement absolu.


Problème : Dans le navigateur IE, lors du basculement entre plusieurs pages à onglets, la hauteur du conteneur où se trouve l'echart s'effondre

Raison : La hauteur de l'élément parent ne peut pas être ajustée dynamiquement dans le navigateur IE (c'est-à-dire que la hauteur est modifiée dynamiquement via les éléments enfants)

Solution : Correction de la hauteur du conteneur où se trouve le graphique echart


Problème : Dans le navigateur IE, lors de l'initialisation du formulaire, la validation du formulaire est déclenchée

Cause : Il s'agit d'un problème avec IE10+ qui implémente l'événement d'entrée, mais l'heure de déclenchement est erronée. Par exemple, lorsque l'espace réservé est modifié, il sera déclenché lorsque le texte de l'espace réservé n'est pas en anglais. Edge15+ résout ce problème, mais IE risque de ne jamais résoudre ce problème.

Solution :

  1. 使用表单的reset()重置表单,但是重置的操作需要放在setTimeout中,或者通过其他手段将重置的操作作为表单初始化时的最后一个宏任务执行。这种方式经验证,最终的效果是,初始化表单后,表单输入元素的边框闪烁(红色)一下。
  2. 使用自定义的服务商插件(较为推荐),这种方式对原有代码的破坏性小(遵循了OCP原则),该插件是由DerSizeS提供的。只需要在对应的module中增加一个服务商即可
@NgModule({
    providers: [{
        provide: EVENT_MANAGER_PLUGINS, multi: true,
        useClass: UniqueInputEventPlugin, deps: [UNIQUE_INPUT_EVENT_PLUGIN_CONFIG],
    }]    
})
class MyModule {}
Copier après la connexion
需要注意的是,插件需要自己添加到项目文件中(根据angular团队所说,这个插件修复了一个IE10或者IE11的bug,但是提交了太多的代码,这会给增加现有的应用的打包体积,虽然后面关于这个PR讨论了挺久,但是看样子是准备把这个放到FAQ里面,而不会把他并入框架),并在对应的模块中引用。

另注:IE的输入框会因为placeholder为中文而触发表单验证,placeholder改变了也会触发表单验证,所以,有一个讨巧的方法,placeholder里面的内容写成英文形式(推荐),但这显然不符合中文产品的需求,而且这显然没有国际化。所以可以想办法绕过这一条,使用 HTML实体(已验证,可行),Unicode编码(不可以)

更多编程相关知识,请访问:编程入门!!

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment installer Angular sur Ubuntu 24.04 Comment installer Angular sur Ubuntu 24.04 Mar 23, 2024 pm 12:20 PM

Angular.js est une plateforme JavaScript librement accessible pour créer des applications dynamiques. Il vous permet d'exprimer rapidement et clairement divers aspects de votre application en étendant la syntaxe HTML en tant que langage de modèle. Angular.js fournit une gamme d'outils pour vous aider à écrire, mettre à jour et tester votre code. De plus, il offre de nombreuses fonctionnalités telles que le routage et la gestion des formulaires. Ce guide expliquera comment installer Angular sur Ubuntu24. Tout d’abord, vous devez installer Node.js. Node.js est un environnement d'exécution JavaScript basé sur le moteur ChromeV8 qui vous permet d'exécuter du code JavaScript côté serveur. Être à Ub

PHP et Vue : une combinaison parfaite d'outils de développement front-end PHP et Vue : une combinaison parfaite d'outils de développement front-end Mar 16, 2024 pm 12:09 PM

PHP et Vue : une combinaison parfaite d'outils de développement front-end À l'ère actuelle de développement rapide d'Internet, le développement front-end est devenu de plus en plus important. Alors que les utilisateurs ont des exigences de plus en plus élevées en matière d’expérience des sites Web et des applications, les développeurs front-end doivent utiliser des outils plus efficaces et plus flexibles pour créer des interfaces réactives et interactives. En tant que deux technologies importantes dans le domaine du développement front-end, PHP et Vue.js peuvent être considérés comme une arme parfaite lorsqu'ils sont associés. Cet article explorera la combinaison de PHP et Vue, ainsi que des exemples de code détaillés pour aider les lecteurs à mieux comprendre et appliquer ces deux éléments.

Composants angulaires et leurs propriétés d'affichage : comprendre les valeurs par défaut non bloquantes Composants angulaires et leurs propriétés d'affichage : comprendre les valeurs par défaut non bloquantes Mar 15, 2024 pm 04:51 PM

Le comportement d'affichage par défaut des composants du framework Angular ne concerne pas les éléments au niveau du bloc. Ce choix de conception favorise l'encapsulation des styles de composants et encourage les développeurs à définir consciemment la manière dont chaque composant est affiché. En définissant explicitement l'affichage des propriétés CSS, l'affichage des composants angulaires peut être entièrement contrôlé pour obtenir la mise en page et la réactivité souhaitées.

Dans quelle mesure le langage Go est-il compatible sur les systèmes Linux ? Dans quelle mesure le langage Go est-il compatible sur les systèmes Linux ? Mar 22, 2024 am 10:36 AM

Le langage Go a une très bonne compatibilité sur les systèmes Linux. Il peut fonctionner de manière transparente sur diverses distributions Linux et prend en charge des processeurs de différentes architectures. Cet article présentera la compatibilité du langage Go sur les systèmes Linux et démontrera sa puissante applicabilité à travers des exemples de code spécifiques. 1. Installez l'environnement de langage Go L'installation de l'environnement de langage Go sur un système Linux est très simple. Il vous suffit de télécharger le package binaire Go correspondant et de définir les variables d'environnement appropriées. Voici les étapes pour installer le langage Go sur le système Ubuntu :

Puis-je utiliser des écouteurs Bluetooth en mode avion ? Puis-je utiliser des écouteurs Bluetooth en mode avion ? Feb 19, 2024 pm 10:56 PM

Avec le développement continu de la technologie moderne, les casques Bluetooth sans fil sont devenus un élément indispensable de la vie quotidienne des gens. L'émergence des écouteurs sans fil libère nos mains, nous permettant de profiter plus librement de la musique, des appels et d'autres activités de divertissement. Or, lorsque nous prenons l’avion, on nous demande souvent de mettre notre téléphone en mode avion. La question est donc : puis-je utiliser des écouteurs Bluetooth en mode avion ? Dans cet article, nous explorerons cette question. Tout d’abord, comprenons ce que fait et signifie le mode avion. Le mode avion est un mode spécial pour les téléphones mobiles

Compatibilité WIN10 perdue, étapes pour la récupérer Compatibilité WIN10 perdue, étapes pour la récupérer Mar 27, 2024 am 11:36 AM

1. Cliquez avec le bouton droit sur le programme et constatez que l'onglet [Compatibilité] est introuvable dans la fenêtre des propriétés qui s'ouvre. 2. Sur le bureau Win10, cliquez avec le bouton droit sur le bouton Démarrer dans le coin inférieur gauche du bureau et sélectionnez l'élément de menu [Exécuter] dans le menu contextuel. 3. La fenêtre d'exécution Win10 s'ouvrira, entrez gpedit.msc dans la fenêtre, puis cliquez sur le bouton OK. 4. La fenêtre de l'éditeur de stratégie de groupe local s'ouvrira. Dans la fenêtre, cliquez sur l'élément de menu [Configuration ordinateur/Modèles d'administration/Composants Windows]. 5. Dans le menu des composants Windows ouvert, recherchez l'élément de menu [Compatibilité des applications], puis recherchez l'élément de paramètre [Supprimer la page de propriétés de compatibilité du programme] dans la fenêtre de droite. 6. Cliquez avec le bouton droit sur l'élément de paramètre et dans le menu contextuel

Questions fréquemment posées par les enquêteurs front-end Questions fréquemment posées par les enquêteurs front-end Mar 19, 2024 pm 02:24 PM

Lors des entretiens de développement front-end, les questions courantes couvrent un large éventail de sujets, notamment les bases HTML/CSS, les bases JavaScript, les frameworks et les bibliothèques, l'expérience du projet, les algorithmes et les structures de données, l'optimisation des performances, les requêtes inter-domaines, l'ingénierie front-end, les modèles de conception et les nouvelles technologies et tendances. Les questions de l'intervieweur sont conçues pour évaluer les compétences techniques du candidat, son expérience en matière de projet et sa compréhension des tendances du secteur. Par conséquent, les candidats doivent être parfaitement préparés dans ces domaines pour démontrer leurs capacités et leur expertise.

Explication détaillée des problèmes de compatibilité Win11 avec le logiciel Win10 Explication détaillée des problèmes de compatibilité Win11 avec le logiciel Win10 Jan 05, 2024 am 11:18 AM

Le logiciel du système win10 a été parfaitement optimisé, mais pour les derniers utilisateurs de win11, tout le monde doit être curieux de savoir si ce système peut être pris en charge, voici donc une introduction détaillée au logiciel qui ne prend pas en charge win10 dans win11. Venez le trouver. sortir ensemble. Win11 prend-il en charge le logiciel Win10 : 1. Le logiciel système Win10 et même les applications système Win7 sont bien compatibles. 2. Selon les commentaires des experts qui utilisent le système Win11, il n'y a actuellement aucun problème d'incompatibilité des applications. 3. Vous pouvez donc effectuer une mise à niveau en toute confiance, mais il est conseillé aux utilisateurs ordinaires d'attendre la sortie de la version officielle de Win11 avant de procéder à la mise à niveau. 4. Win11 a non seulement une bonne compatibilité, mais aussi Windo

See all articles