J'aimerais masquer un élément inséré / injecté dans mon magasin Shopify avec une application externe. Il apparaît environ une seconde après que tout a fini de charger sur le site et a une classe appelée "Hidethis" et un groupe d'autres éléments.
Cela n'a pas fonctionné et je n'ai aucune idée de quoi d'autre à essayer. P> J'essaie de masquer cet élément en fonction de l'emplacement de l'utilisateur de la manière suivante: p>
4 Réponses :
meilleure solution: CSS si cela n'est pas possible et que vous avez besoin de JS P> p> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="container"></div>
Le deuxième code a fonctionné mais l'élément apparaît brièvement. C'est une solution mais pas le résultat souhaité idéal
Je ne veux pas le cacher pour tout le monde. Je vérifie la géolocalisation et j'essaie de le cacher en fonction de l'emplacement de l'utilisateur.
Je semble obtenir cette erreur - "Décontent Domexception: Impossible de lire la propriété" CSSRules "de" CSSSTYLESHEET ": impossible d'accéder aux règles". Je suis probablement gâché en essayant de l'insérer dans mon code.
Vous avez probablement besoin d'une feuille de style en haut de la page. Je n'ai pas testé s'il y en avait un
S'il vous plaît mettre à jour la question. Je ne peux pas lire le code dans un commentaire non formaté
Il est commenté. J'ai ajouté le code à ma question.
$ (Fonction () {}) est une directive "chargée de page" qui n'appartient pas à votre Ajax. Il suffit d'ajouter var feuille = fenêtre.document.stylesheets [0]; feuille.insertrule ('. Cart__Options {Affichage: Aucun;}', feuille.cssrules.length) code>
Cela donne toujours la même erreur et il y a définitivement des feuilles de style. C'est un magasin Shopify Store ... Impossible Domexception: Impossible de lire la propriété "CSSRULES" de "CSSSTYLESHEEET": impossible d'accéder aux règles
Ensuite, je le suggère: ajoutez un
Pouvons-nous voir le marquage complet de l'élément ajouté?
développeur.mozilla.org/en/docs/web/api/MutationObserverleight
L'élément principal a une classe appelée "Hidethis". Je pense que les autres éléments ne sont pas pertinents. Peut-être qu'il y a un moyen de faire une fonction qui vérifie les modifications ou continue de numériser constamment la page pour les nouveaux éléments. J'ai été capable de cacher l'élément lorsque j'ai édité le CSS de la vue Developer. Je ne sais pas pourquoi je suis en train de descendre.
Votre copie de mon exemple a pris trop de mon code de test. Vous voulez juste
Succès: fonction (emplacement) {if (emplacement.country_code === 'Ee') {var feuille = fenêtre.document.stylesSheets [0]; feuille.insertrule ('. Hidethis {affichage: aucun;}', feuille.cssrules.length); }} code>Vous pouvez également l'inverser et le montrer s'il n'est pas EE