web-dev-qa-db-fra.com

Serait-il valide d'utiliser des cadres pour un outil interne avec une liste statique à gauche qui déclenche le contenu à droite?

Je remplace l'interface d'un ancien système Visual FoxPro que mon entreprise utilisait depuis 15 ans. Si les utilisateurs se plaignent, c’est que c’est fastidieux.

Donc, la facilité d'utilisation est ce qui motive ma philosophie dans la reconstruction. Comme vous pouvez le voir dans ma maquette, je pense à une colonne de gauche contenant plusieurs onglets avec (en fin de compte) des files d'attente/listes en temps réel dans chacun. En cliquant sur un élément de l'une des files d'attente, un menu déroulant contenant des liens vers toutes les fonctions associées est généré. Celles-ci incluent des vues détaillées, des rapports et des formulaires très volumineux. J'aimerais vraiment que tout cela apparaisse à droite tout en gardant la colonne de gauche statique et visible tout le temps. Ma première pensée est d’utiliser des cadres mais c’est quelque chose que nous évitons de nos jours. Est-ce un cas valable pour les cadres ou existe-t-il une meilleure option?

my layout mock-up

6
Rick R

En cliquant sur un élément de l'une des files d'attente, un menu déroulant contenant des liens vers toutes les fonctions associées est généré.

Si vous utilisiez des cadres, vous ne pourriez pas créer le "menu coulissant". Le menu déroulant semble devoir apparaître dans le "autre" cadre, ce qui serait extrêmement difficile à faire, en particulier pour être associé à l'élément sur lequel vous avez cliqué (à gauche).

Alternativement, ce "menu secondaire" pourrait apparaître sous l'élément sur lequel vous avez simplement cliqué (c'est-à-dire dans le même cadre).

Autres considérations sur l’utilisation des cadres (bien que les deux premiers puissent ne pas s’appliquer ici):

  • L'indexation est très problématique. Un "outil interne" n'aura évidemment pas besoin d'indexation dans le domaine public. Cependant, un index "interne" peut toujours s'appliquer.

  • La mise en favori/partage de liens n'est pas possible. Cela pourrait être implémenté comme une fonctionnalité supplémentaire (permalien), mais ajoute une complexité inutile.

  • Difficile/impossible de créer un design "responsive" si cet outil doit être utilisé sur plusieurs plates-formes.

  • Les cadres (balises <frameset>, etc.) sont "totalement obsolètes" en HTML5. Donc, vous devez avoir recours à un DOCTYPE HTML4 dans le document d'index si vous voulez être conforme.

Mais sinon, je pense que cela pourrait toujours fonctionner comme un "outil interne".


Je pourrais certainement utiliser un div et le renseigner avec du contenu, mais nous parlons d’un nombre excessif de pages et les formulaires peuvent potentiellement avoir près d’une centaine de champs chacun. Je ne peux pas comprendre le JS qu'il faudrait pour retirer cela.

PDATE: Je pense que la suggestion de closetnoc est tout à fait raisonnable. Je ne pense pas que cela impliquerait nécessairement beaucoup plus de travail que d'utiliser des cadres (mais je simplifie peut-être votre problème).

Avec les cadres, l’utilisateur fait une sélection dans le cadre de gauche pour demander à un document du serveur de renseigner le cadre de droite.

Sans cadre, l'utilisateur sélectionne dans le conteneur de gauche une requête qui déclenche une demande AJAX du serveur sur un document (éventuellement le même document que celui qui serait utilisé avec un cadre, moins le "wrapper de page" ". <head> et <body> balises) et cela est ensuite appliqué au innerHTML de l'élément contenant le droit. Une simplification excessive peut-être.

Cette approche serait problématique si ces "documents" dépendent actuellement de leurs propres feuilles de style uniques. Bien que HTML5 offre l'attribut scoped pour le CSS en bac à sable (ce qui pourrait éviter cela), AFAIK n'est pris en charge que par Firefox à l'heure actuelle.

0
MrWhite

L'utilisation des cadres est en train de disparaître et il existe une grande disparité entre les navigateurs quant à la manière dont les cadres sont gérés et affichés. Vous pouvez obtenir efficacement la même chose avec une utilisation plus conviviale et durable en utilisant AJAX et une DIV vide. De toute façon, chacune des sous-pages serait sa propre page, mais plutôt que d'utiliser un cadre pour y accéder, vous le demandez en utilisant AJAX et collez-le dans le div vide. Cela vous permet d’utiliser une icône de rotateur pour indiquer qu’il fonctionne (quelque chose de très dur avec les cadres), vous permet de travailler avec le contenu de la sous-page de manière plus conviviale et interactive. En outre, il existe un grand nombre de cadres pour faciliter le travail.

0