L'utilitaire Ext.History (version 3.4.0) fonctionne correctement dans IE8 +. Il fonctionne en mode Quirks, mais pas avec le mode document en mode IE8 Standards (IE8) ou en mode IE9 Standards (IE9). Le mode Quirks ne fonctionne pas pour nous car il ne rend pas notre CSS correctement.Bouton Précédent à l'aide d'Extjs 3.4 Historique avec le mode document normes ie8 & ie9
J'ai dépouillé tout de l'application, sauf l'utilitaire d'histoire et ont maintenant deux fichiers (en plus des fichiers ExtJs):
index.html:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<script type="text/javascript" src="ext-base.js"></script>
<script type="text/javascript" src="ext-all.js"></script>
<script type="text/javascript" src="myapp.js"></script>
</head>
<body>
<div>
<div align="center">
<table width="97%" border="0" cellpadding="0" cellspacing="0" >
<tr>
<td>
<a href="#link1">Link1</a> |
<a href="#link2">Link2</a> |
<a href="#link3">Link3</a> |
<a href="#link4">Link4</a> |
<a href="#link5">link5</a>
</td>
</tr>
</table>
</div>
</div>
<!-- Fields required for history management -->
<form id="history-form" class="x-hidden">
<input type="hidden" id="x-history-field"/>
<iframe id="x-history-frame"></iframe>
</form>
</body>
</html>
myapp.js:
Ext.ns('MyApp');
Ext.onReady(function()
{
Ext.History.init();
Ext.History.on('change', function(token){}, this);
});
Lorsque je charge l'application sur un serveur Web, accédez à index.html et cliquez sur link1, la barre d'adresse affiche # link1. Je clique ensuite sur link2 et la barre d'adresse affiche # link2. Je clique ensuite sur link3 et la barre d'adresse montre # link3. En utilisant le bouton Précédent dans IE avec IE7 Emulation, dans Chrome ou Firefox, la barre d'adresse va de # link3 à # link2. Lorsque j'appuie sur le bouton de retour une deuxième fois, la barre d'adresse va de # link2 à # link1. C'est le comportement auquel je m'attends. Cependant, en utilisant IE8 ou IE 9 dans le mode standard de document approprié, lorsque je clique deux fois sur le bouton retour, la barre d'adresse va de # link2 à # link3. D'autres clics sur le bouton retour basculeront l'utilisateur entre # link2 et # link3. Ce comportement est inattendu et empêche notre application de fonctionner correctement.
Notez que c'est la façon que l'exemple Sencha fonctionne pour 3.4.0:
(la page rend en mode Quirks, mais si vous changer aux normes IE8 ou IE9 normes, il ne fonctionne pas).
Il fonctionne semblent fonctionner correctement dans 4.1:
(seulement me laisser les messages 2 liens, mais vous pouvez probablement trouver ...)
Je n'ai pas accès à Ext 3.4. 1, mais ce problème ne figure pas dans les corrections de bogues. J'ai vu un thread (here) qui suggère que changer le doctype fonctionnerait, mais cela ne semble pas être le cas (j'ai essayé tous les doctypes ...).
Notez que de nombreuses parties de notre application utilisent l'utilitaire Historique pour la navigation. Par conséquent, sa suppression n'est pas une solution acceptable.
Quelqu'un peut-il offrir des suggestions sur la façon dont je peux faire fonctionner cela?