IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

L’objet ne gère pas la propriété ou la méthode(IE)


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur
    Inscrit en
    Mai 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Mai 2018
    Messages : 6
    Points : 5
    Points
    5
    Par défaut L’objet ne gère pas la propriété ou la méthode(IE)
    Bonjour,

    Cela fait plusieurs jours que je galère avec ce problème qui concerne IE.

    J'ai fait beaucoup de recherche sur Internet, mais aucune n'a solutionné mon problème.

    J'utilise un "plugin" javascript pour afficher du texte. Cela fonctionne très bien sur l'ensemble des navigateurs sauf sur IE ( :pirate: ) qui me retourne l'erreur suivante : L’objet ne gère pas la propriété ou la méthode « typewriting_other »

    Voici l'appel de ma fonction dans mon fichier partie.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    load_txt(histoire_lab,'histoire_bloc');
    Ensuite dans mon fichier js je fais appel à la fonction typewriting_other comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    function load_txt_enigme(content_val,target){
     
    	$('.'+target).typewriting(content_val, {
    	  // default: 150
    	  "typing_interval": 50,
     
    	  // default: 0.7s
    	  "blink_interval": "1s",
     
    	  // default: black
    	  "cursor_color": "#00fd55"
    	});
    }
    Et enfin le fichier qui contient la fonction final :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    	$.fn.typewriting_other = function( input_string, options, callback_func ) {
     
    		// Get the height of cursor should be
    		var cursorHeight = this.height();
    		var cursorWidth = parseInt(cursorHeight/3);
    		if( cursorHeight == 0 ) {
    			this.text('I');
    			cursorHeight = this.height();
    			cursorWidth = this.width();
    		}
     
    		// Store setting and function from user
    		settings = $.extend({
    			typing_interval	: 150,
    			blink_interval	: '0.7s',
    			cursor_color	: 'black',
    			inputString 	: '',
    			tw_callback		: function(){},
    			task			: 'unready',
    		}, options);
     
    		// Handle inputString ---required
    		if( input_string ) {
    			if( typeof input_string == 'string' )
    				settings.inputString = input_string;
    			else
    				throw new Error(`${input_string} is not a string`);
    		}
    		else
    			throw new Error('Missing argument: String');
     
    		// Handle callback
    		if( callback_func ) {
    			if( typeof callback_func == 'function' )
    				settings.tw_callback = callback_func;
    			else {
    				console.error(`${callback_func} is not a function`);
    				_cleanCallback();
    			}
    		} else
    			_cleanCallback();
     
    		// Add cursor style in HEAD
    		$('head').append( `<style type='text/css'>@-webkit-keyframes blink{0%,100%{opacity:1}50%{opacity:0}}@-moz-keyframes blink{0%,100%{opacity:1}50%{opacity:0}}@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}.typingCursor_other::after{content:'';width:${cursorWidth}px;height:${cursorHeight}px;margin-left:5px;display:inline-block;vertical-align:bottom;background-color:${settings.cursor_color};-webkit-animation:blink ${settings.blink_interval} infinite;-moz-animation:blink ${settings.blink_interval} infinite;animation:blink ${settings.blink_interval} infinite}</style>` );
     
    		settings.task = 'typing';
    		_typingGo( this.addClass('typingCursor_other') );
     
    	};
    IE me ressort 3 erreurs, 2 qui correspondent à l'erreur "caractères incorrectes" à la ligne 4 du code ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    function load_txt_enigme(content_val,target){
     
    	$('.'+target).typewriting(content_val, {
    	  // default: 150
    	  "typing_interval": 50,
     
    	  // default: 0.7s
    	  "blink_interval": "1s",
     
    	  // default: black
    	  "cursor_color": "#00fd55"
    	});
    }
    et la dernière "L’objet ne gère pas la propriété ou la méthode "typewriting_other" : à la ligne 28 du code ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    	$.fn.typewriting_other = function( input_string, options, callback_func ) {
     
    		// Get the height of cursor should be
    		var cursorHeight = this.height();
    		var cursorWidth = parseInt(cursorHeight/3);
    		if( cursorHeight == 0 ) {
    			this.text('I');
    			cursorHeight = this.height();
    			cursorWidth = this.width();
    		}
     
    		// Store setting and function from user
    		settings = $.extend({
    			typing_interval	: 150,
    			blink_interval	: '0.7s',
    			cursor_color	: 'black',
    			inputString 	: '',
    			tw_callback		: function(){},
    			task			: 'unready',
    		}, options);
     
    		// Handle inputString ---required
    		if( input_string ) {
    			if( typeof input_string == 'string' )
    				settings.inputString = input_string;
    			else
    				throw new Error(`${input_string} is not a string`);
    		}
    		else
    			throw new Error('Missing argument: String');
     
    		// Handle callback
    		if( callback_func ) {
    			if( typeof callback_func == 'function' )
    				settings.tw_callback = callback_func;
    			else {
    				console.error(`${callback_func} is not a function`);
    				_cleanCallback();
    			}
    		} else
    			_cleanCallback();
     
    		// Add cursor style in HEAD
    		$('head').append( `<style type='text/css'>@-webkit-keyframes blink{0%,100%{opacity:1}50%{opacity:0}}@-moz-keyframes blink{0%,100%{opacity:1}50%{opacity:0}}@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}.typingCursor_other::after{content:'';width:${cursorWidth}px;height:${cursorHeight}px;margin-left:5px;display:inline-block;vertical-align:bottom;background-color:${settings.cursor_color};-webkit-animation:blink ${settings.blink_interval} infinite;-moz-animation:blink ${settings.blink_interval} infinite;animation:blink ${settings.blink_interval} infinite}</style>` );
     
    		settings.task = 'typing';
    		_typingGo( this.addClass('typingCursor_other') );
     
    	};
    Est-ce que vous auriez une idée comment résoudre ce souci ?

    Par avance un grand merci

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    vous parlez bien de la dernière version du navigateur de Microsoft qui s'appelle Edge ?
    "IE" était le nom du navigateur il y a 5 ans.

  3. #3
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 451
    Points : 4 600
    Points
    4 600
    Par défaut
    Citation Envoyé par mathieu Voir le message
    vous parlez bien de la dernière version du navigateur de Microsoft qui s'appelle Edge ?
    "IE" était le nom du navigateur il y a 5 ans.
    ie existe encore... on m'a installe windows10 le mois dernier, il y a IE 11 et edge dessus
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  4. #4
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 093
    Points : 6 754
    Points
    6 754
    Par défaut
    Bonjour,

    bien que les numéros de ligne ne correspondent pas, je pense que le problème vient de la syntaxe de chaînes `` que tu utilises dans la fonction typewriting_other pour injecter une balise de style. IE ne supporte pas cette syntaxe. Tu vas devoir réécrire ta chaîne « à l’ancienne ».
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Développeur
    Inscrit en
    Mai 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Mai 2018
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    désolé mais je n'ai pas pu me reconnecter depuis le post du message.
    J'ai repris aujourd'hui.

    J'ai réécris la chaîne à l'ancienne et ça fonctionne. Mais je me suis également rendu compte que sans faire aucun modification, et en utilisant le javascript minifié, cela fonctionne.
    Pourtant, le minifié et identique au fichier normal en théorie ?

    Et quand est-ce que IE/EDGE partira à la retraite ??

    Et oui je parlais de EDGE à la base du problème.

    Encore merci de votre aide

  6. #6
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 093
    Points : 6 754
    Points
    6 754
    Par défaut
    Citation Envoyé par roukhino Voir le message
    Pourtant, le minifié et identique au fichier normal en théorie ?
    Il est identique au niveau sémantique, mais pas au niveau syntaxique.
    C’est juste une hypothèse, mais peut-être que la minification retranscrit les chaînes `` en chaînes "".

    Et quand est-ce que IE/EDGE partira à la retraite ??
    Ça c’est une bonne question. Je n’ai pas de réponse objective mais je peux donner mon avis personnel : s’il ne fait pas d’effort pour s’adapter, il prendra sa retraite anticipée et forcée. Et pour s’adapter, je pense qu’il va devoir adopter un cycle de version plus rapide, comme le font Firefox et GChrome.
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/03/2013, 11h09
  2. [POO] [IE6] Cet objet ne gère pas cette propriété ou cette méthode
    Par sabotage dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/01/2009, 22h44
  3. Réponses: 8
    Dernier message: 05/06/2008, 15h19
  4. Cet objet ne gère pas cette propriété ou cette méthode
    Par _Michel dans le forum Visual C++
    Réponses: 2
    Dernier message: 08/11/2007, 22h06
  5. [Jscript]Cet objet ne gère pas cette propriété ou cette méthode
    Par 1tox dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 02/06/2006, 09h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo