Aller au contenu

Javascript -- window.webkitStorageInfo' is deprecated


Messages recommandés

Posté(e)

Bonsoir, 

 

J'utilise un script qui fonctionne parfaitement bien sur chrome, mais qui est impossible a démarrer sur maxthon.

 

La console me renvoie cette erreure:

 

'window.webkitStorageInfo' is deprecated. Please use 'navigator.webkitTemporaryStorage' or 'navigator.webkitPersistentStorage' instead.

 

Comment pourrais je faire pour que ce script soit opérationnel

 

Merci d'avance

Posté(e)

Bonjour,

 

Merci pour vos réponses rapides.

 

Je possède la version 4.4.1.2000 de maxthon et java est bien a jour.

 

Je ne suis pas vraiment expert en la matière et je ne sais pas comment utiliser TemporyStorage ou PersistentStorege

 

Avez vous un tutoriel qui expliquerait cela?

 

Ou directement la manière de le faire ?

 

merci d'avance

 

_________________________________________________________________________________________________

-----------------------------------------------------------------------------------------------------------------------------------------------------------

 

Edit: J'ai aussi cette erreur ...

 

XMLHttpRequest cannot load http://realm381.c11.castle.wonderhill.com/supported_versions. Origin https://realm381.c11.castle.wonderhill.com is not allowed by Access-Control-Allow-Origin. game:1
stepStarting: Checking API version, Error 0, This browser is not compatible at this time.
API version not available. Using default : overarch
 
La fonction qui je pense pose problème.

				function stepStarting(current_step) {
					var wait_time = Math.randRange(2500, 4500);
					var error_code;
					var error_msg;
					var progress_title;
					progressBar.resume();

					function onSuccess(message, waitTime, currentStep) {
						verboseLog(message);
						debugLog(message);
						STARTUP_TIMER = setTimeout(stepStarting, waitTime, currentStep);
					}

					function onError(errorCode, errorMsg, message, waitTime, currentStep) {
						error_code = errorCode;
						switch (errorCode) {
							/* Bad request (API version ?) */
							case 400:
								error_msg = translate('<b>Bad request!</b>');
								progressBar.stop;
								progressBar.hideshow(false);
								retry = 400;
								dialogFatal('<b>' + kFatalSeedTitle + '</b><br><br>\
											<font color="#BF0000"><b> ' + errorMsg + '</b></font>\
											<br><br><div align=left>\
											' + kFatalSeedMsg + '<br><br></div>\
											<a id="' + UID['support_link'] + '" href="" target="_blank">Bugs and Known Issues</a><br>');
								return;
								break;
								/*
								 * Forbidden (RefControl or --no-referrers
								 * missing ?)
								 */
							case 403:
								error_msg = translate('<b>Forbidden!</b>');
								retry = 403;
								return;
								break;
								/* Rate Limit Exceeded */
							case 429:
								error_msg = '<b>API </b>' + translate('<b>Rate Limit Exceeded</b>, too many requests!');
								waitTime = E429_DELAY;
								progressBar.update({
									step: currentStep,
									title: progress_title,
									stepText: translate('Fetching') + ' ' + message + '<br>' + error_msg + ' - ' + translate('Retry in') + ' ' + waitTime
								});
								progressBar.pause();
								verboseLog(error_msg + ' - ' + translate('Retry in :') + waitTime);
								STARTUP_TIMER = setTimeout(stepStarting, waitTime * 1000, currentStep);
								return;
								break;
							case 509:
								error_msg = translate('<b>Rate Limit Exceeded</b>, too many requests!');
								waitTime = 600;
								progressBar.update({
									step: currentStep,
									title: progress_title,
									stepText: translate('Fetching') + ' ' + message + '<br>' + error_msg + ' - ' + translate('Retry in') + ' ' + waitTime
								});
								progressBar.pause();
								verboseLog(error_msg + ' - ' + translate('Retry in :') + waitTime);
								STARTUP_TIMER = setTimeout(stepStarting, waitTime * 1000, currentStep);
								return;
								break;
							default:
								break;
						}
						error_msg = errorMsg;
						debugLog('stepStarting: ' + message + ', Error ' + errorCode + ', ' + error_msg + '. Retry ' + retry);
						STARTUP_TIMER = setTimeout(stepStarting, waitTime, currentStep, ++retry);
					}

					if (retry <= 20) {
						switch (current_step) {
							case 1:
								/* Check API version */
									function getSupportedVersions(callback) {
										var params = {};
										new MyAjaxRequest('versions', url_versions + '/supported_versions', params, function(res) {
											if (res.ok && res.dat) {
												var list = '';
												if (res.dat.length) {
													api_version = res.dat[res.dat.length - 1];
													for (var v = 0; v < res.dat.length; v++) list = list + ((v == 0) ? '' : ', ') + res.dat[v];
												} else {
													api_version = res.dat;
													list = res.dat;
												}
												verboseLog('List of supported API version : ' + list);
												debugLog('List of supported API version : ' + list);
											}
											if (callback) callback(res);
										}, false);
								}
								progress_title = translate('Getting API version...');
								progressBar.update({
									step: current_step,
									title: progress_title,
									stepText: translate('Checking API version')
								});
								getSupportedVersions(function(res) {
									if (res.ok) {
										onSuccess(translate('API version Successfully initialized') + ' : ' + api_version, wait_time, current_step + 1);
									} else {
										debugLog('stepStarting: ' + translate('Checking API version') + ', Error ' + res.status + ', ' + res.errmsg + '.');
										onSuccess(translate('API version not available. Using default') + ' : ' + api_version, wait_time, current_step + 1);
									}
								});
								break;
							case 2:
								/* Map data Initialization */
									progress_title = translate('Getting map data...');
								progressBar.update({
									step: current_step,
									title: progress_title,
									stepText: translate('Charging Map binairy file')
								});
								Map.initMapData(function(res) {
									if (res.ok) {
										onSuccess(translate('Map Bin Successfully initialized'), wait_time, current_step + 1);
									} else {
										onError(res.status, res.errmsg, translate('Map Bin'), wait_time, current_step);
									}
								});
								break;
							case 3:
								/* Translation Initialization */
									progress_title = translate('Getting basic data...');
								progressBar.update({
									step: current_step,
									title: progress_title,
									stepText: translate('Fetching Translation matrix')
								});
								Translation.init(function(res) {
									if (res.ok) {
										onSuccess(translate('Translation Matrix Successfully initialized'), wait_time, current_step + 1);
									} else {
										onError(res.status, res.errmsg, translate('Translation matrix'), wait_time, current_step);
									}
								});
								break;
							case 4:
								/* Manifest Initialization */
									progress_title = translate('Getting game data...');
								progressBar.update({
									step: current_step,
									title: progress_title,
									stepText: translate('Fetching Manifest')
								});
								Manifest.init(function(res) {
									if (res.ok) {
										onSuccess(translate('Manifest Successfully initialized'), wait_time, current_step + 1);
									} else {
										onError(res.status, res.errmsg, translate('Manifest'), wait_time, current_step);
									}
								});
								break;
							case 5:
								/* Seed Initialization */
									progress_title = translate('Getting game data...');
								progressBar.update({
									step: current_step,
									title: progress_title,
									stepText: translate('Fetching Seed')
								});
								Seed.init(function(res) {
									if (res.ok) {
										onSuccess(translate('Seed Successfully initialized'), wait_time, current_step + 1);
									} else {
										onError(res.status, res.errmsg, translate('Seed'), wait_time, current_step);
									}
								});
								break;
							case 6:
								/* Sanctuary dragons data */
									progress_title = translate('Getting dragons data...');
								progressBar.update({
									step: current_step,
									title: progress_title,
									stepText: translate('Fetching Dragons data')
								});
								Seed.fetchDragons(function(res) {
									if (res.ok) {
										onSuccess(translate('Dragons data successfully fetched'), wait_time, current_step + 1);
									} else {
										onError(res.status, res.errmsg, translate('Dragons'), wait_time, current_step);
									}
								});
								break;
							case 7:
								/* Fetch capital data */
									progress_title = translate('Getting cities data...');
								var cityIdx;
								/* We make sure to first start the capital */
								for (var i = 0; i < Seed.cityInit.length; i++) {
									if (Seed.cityInit[i].type == 'capital') {
										cityIdx = Seed.cityInit[i].id;
									}
								}
								/* Set progress bar steps / city */
								citySteps = Math.floor(14 / (Seed.cityInit.length - 1));
								progressBar.update({
									step: current_step,
									title: progress_title,
									stepText: translate('Fetching Capital data')
								});
								Seed.fetchCity(cityIdx, function(res) {
									if (res.ok) {
										wait_time = Math.randRange(2500, 6000);
										onSuccess(translate('Capital data successfully fetched'), wait_time, current_step + 1);
									} else {
										onError(res.status, res.errmsg, translate('Capital data'), wait_time, current_step);
									}
								});
								break;
							case 8:
								/* Fetch outposts data */
									progress_title = translate('Getting cities data...');
								for (var i = 0; i < Seed.cityInit.length; i++) {
									if (Seed.cityInit[i].loaded) {
										continue;
									}
									progressBar.update({
										step: current_step + (citySteps * i),
										title: progress_title,
										stepText: translate('Fetching Outpost ') + (i + 1)
									});
									if (Seed.cityInit[i].timer) {
										clearTimeout(Seed.cityInit[i].timer);
									}
									var current_index = i;
									var cityIdx = Seed.cityInit[i].id;
									Seed.fetchCity(cityIdx, function(res) {
										if (res.ok) {
											wait_time = Math.randRange(2500, 6000);
											if (current_index == Seed.cityInit.length - 1) {
												wait_time = 2500;
											}
											onSuccess(translate('Outpost') + ' #' + (i + 1) + ' ' + translate('data successfully fetched'), wait_time, current_step);
										} else {
											onError(res.status, res.errmsg, translate('Outpost') + ' #' + (i + 1), wait_time, current_step);
										}
									});
									return;
								}
								startScript();
								return;
								break;
						}
					} else {
						/* Retries Limit */
						clearTimeout(STARTUP_TIMER);
						progressBar.stop;
						progressBar.hideshow(false);
						if (retry < 400) { /*
											 * to avoid displaying twice a
											 * dialogFatal popup
											 */
							dialogFatal('<b>' + kFatalSeedTitle + '</b><br><br>\
								<font color="#BF0000"><b> ' + (error_code || retry) + ' - ' + error_msg + '</b></font>\
								<br><br><div align=left>\
								' + kFatalSeedMsg + '<br><br></div>\
								<a id="' + UID['support_link'] + '" href="" target="_blank">Bugs and Known Issues</a><br>');
						}
						return;
					}
				}
Posté(e)

Tu es optimiste Ldfa  :shy:  il y a un message d'erreur qui ne me plait pas 

stepStarting: Checking API version, Error 0, This browser is not compatible at this time.

API version not available. Using default : overarch
 
C'est comme si une api n'était pas implémentée dans maxthon.
J'ai fait une petite recherche et il semblerait que l'erreur serait lié à une api de gestion de l'html5
Voir ICI
 
C'est relativement difficile de débugger un script dont on ne sait pas ce qu'il fait, comment l'utiliser etc....
 
Est-ce que tu as testé comme je te le demandais en mode retro ?
 
@+
Posté(e)

Le problème viendrait de la collecte des information a partir du serveur?

J'ai utiliser fiddler pour analyser les request et sur maxthon il est écrit no-cache.

Le faite qu'i n'y ai pas de cache peut il entrainer le non fonctionnement d'un tel script?

 

En tout cas je vous remercie d'avoir essayer, je vais donc rester sur chrome.

C'est dommage je trouve maxthon très bon

Posté(e)

Ce script fonctionnait sur maxthon l'année dernière

Peut être en prenant une version antérieure cela fonctionnerait?

 

 

 

____________________________________________________________________________________________________________

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

Ps: http://old-forum.maxthon.com/thread-8420-1-1.html

Posté(e)

Je viens de trouver un script antérieur  et celui ci bloque a la matrice de traduction

Cela veut dire que c'est lorsque chrome est passé de Webkit à Blink la script a été changé et ne fonctionne donc plus maxthon

 

Je suppose que c'est ça

Posté(e)

Moi j'ai essayé de remonter dans les versions de Maxthon avec la verson iV du script, mais ça bloque depuis la v4.0.5 de Maxthon. Dans la vidéo, c'était la v III du script... :unsure:

 

Tout n'est pas encore implémenté dans Maxthon au niveau HTML5, et on a aucune information sur le sujet ni de Roadmap. :angelic:

Posté(e)

Je reste persuadé qu'il y a une api qui n'est pas ou n'est plus implémentée dans cette version de maxthon d'ou le "depracated", il y a tout un tas d'api concernant le stockage. En fait pour le gestionnaire d'erreur on utilise une version obsolète. (deprecated) 

 

Pas mal d'infos sur le lien que j'ai donné ici cela concerne chrome justement et le stockage

 

A+

Posté(e)

Bonjour, désolé pour le double post

 

J'aurais aimer savoir si il existait une extension ou quelque chose pour vérifier ou le script bug exactement?

L on connait la fonction mais peut ont savoir exactement la ligne qui coince?

 

merci d'avance

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.