3 votes

L'objet ne prend pas en charge la propriété ou la méthode 'slideToggle' dans MS Edge appelée depuis un iframe

Je essaie de faire slideToggle un div avec l'identifiant "main-nav" à partir d'une iframe :

    ..

  ...

mais je reçois une erreur : 0:Object doesn't support property or method 'slideToggle'.

Je utilise cet gestionnaire d'événements onClick pour un lien a.dropdown-toggle :

$(function(){
  $("a.dropdown-toggle").on("click", function(){
    $("#main-nav", window.parent.document).slideToggle(300);
  });
});

Je teste dans Microsoft Edge 44.18362.267.0, Microsoft EdgeHTML 18.18362 . Je charge la bibliothèque jQuery avant que mon script attache le gestionnaire d'événements onClick.

J'ai essayé $("#main-nav", window.parent.document).slideToggle(300); dans la console de Edge et cela fonctionne correctement.

Des idées sur ce qui pourrait être le problème ici ? Merci.

EDITION

Après avoir poussé mon code sur github, je l'ai testé dans chrome et j'ai eu cette erreur :

Uncaught TypeError: $(...).slideToggle is not a function
    at HTMLAnchorElement.myEventHandler (navbar.html:48)
    at HTMLAnchorElement.dispatch (jquery-3.3.1.slim.min.js:2)
    at HTMLAnchorElement.v.handle (jquery-3.3.1.slim.min.js:2)
myEventHandler @ navbar.html:48
dispatch @ jquery-3.3.1.slim.min.js:2
v.handle @ jquery-3.3.1.slim.min.js:2

SOLUTION

Ensuite, j'ai découvert cette solution.

Le problème résidait dans l'inclusion de la version slim minified de jQuery, changer cela en juste la version minified a aidé.

0voto

J.Valášek Points 51

La solution est décrite ici.

Le problème réside dans l'inclusion de la version slim minified de jQuery, en remplaçant cela par la simple version minified résout le problème.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X