Internet Explorer 8 et 9 écluses jusqu'à tout en redimensionnant la fenêtre

  • ScottG
  • Proficient
  • Proficient
  • No Avatar
  • Inscription: Juil 06, 2010
  • Messages: 265
  • Status: Online

Message Février 22nd, 2012, 1:48 pm

En raison de la nature du projet, je ne peux pas montrer le site au public, ni que les personnes à y accéder.
Que dit Id comme pour ajouter I LOVE FIREFOX!! à toute personne qui poste juste utiliser Firefox, je souhaite que je le pouvais mais il est donc obligatoire que ce site fonctionne dans IE8 ou plus.

De loin est arrivé sur les deux machines un IE8 courante et mine exécution annoncée deux système est des machines puissantes. La question que je vais avoir est une fois que la page se charge entièrement et vous récupérer les arêtes ou les coins de la fenêtre et l'échelle il il dimensionnera le premier SNA de temps faisant généralement très lentement, environ, mais lorsque vous tentez de nouveau l'échelle il sera blocage IE jusqu'au point où vous devrez attendre environ 5 à 10 minutes pour IE pour récupérer et qui est sur ma machine.

Je n'obtiens aucune erreur Javascript et j'avoir débogage sur rien obtenir de qui. Si quelqu'un a des idées sur ce qui pourrait être à l'origine cette let veuillez me connaître
  • Anonymous
  • Bot
  • No Avatar
  • Inscription: 25 Feb 2008
  • Messages: ?
  • Loc: Ozzuland
  • Status: Online

Message Février 22nd, 2012, 1:48 pm

  • ScottG
  • Proficient
  • Proficient
  • No Avatar
  • Inscription: Juil 06, 2010
  • Messages: 265
  • Status: Online

Message Février 23rd, 2012, 1:47 pm

J'ai juste passé tous aujourd'hui jusqu'à essayer de déboguer le code pour voir ce que peut être la cause du problème et ce que Ive croiser jusqu'à présent est l'un des mes appels AJAX. L'appel AJAX obtient une assez grande liste non ordonnée d'un fichier php. Fichier PHP a été utilisé parce que la nature complexe de la liste. La raison derrière cela est trop faire une arborescence de dossiers avec un menu clic droit.

Maintenant, normalement, je ne pas ont utilisé AJAX pour ce type d'opération, mais c'est ce que le client voulait et j'ai essayé de leur parler d'elle mais ils ont insisté.

Ce qui recrache le fichier PHP.... J'ai beaucoup raccourci
Code: [ Select ]
new Array("none", "<ul id=\"tree\" class=\"tree\"><li menu=\"tree_menu_1\" item=\"folder\" image=\"../../images/fam/folder.png\" id=\"node1\" filename=\"Root\" link_href=\"Javascript: load_folder(\'1\')\"><a id=\"\" href=\"Javascript: void(0)\" filename=\"Root\"><b>Root</b></a><ul id=\"tree\" class=\"tree\"><li menu=\"tree_menu_1\" item=\"folder\" image=\"../../images/fam/folder.png\" id=\"node29\" filename=\"Agency Content\" link_href=\"Javascript: load_folder(\'29\')\"><a id=\"\" href=\"Javascript: load_folder(\'29\')\" filename=\"Agency Content\">Agency Content</a><ul id=\"tree\" class=\"tree\"><li menu=\"tree_menu_1\" item=\"folder\" image=\"../../images/fam/folder.png\" id=\"node1306\" filename=\"Addison-Clark\" link_href=\"Javascript: load_folder(\'1306\')\"><a id=\"\" href=\"Javascript: load_folder(\'1306\')\" filename=\"Addison-Clark\">Addison-Clark</a></li><li menu=\"tree_menu_1\" item=\"folder\" image=\"../../images/fam/folder.png\" id=\"node559\" filename=\"Brodeur\" link_href=\"Javascript: load_folder(\'559\')\"><a id=\"\" href=\"Javascript: load_folder(\'559\')\" filename=\"Brodeur\">Brodeur</a></li></ul></li></ul></li></ul>", new Array("14", "1"), setTimeout('context_menu.set_multiple("tree_menu_1", "tree_menu_1")', 1000), setTimeout('context_menu.set_multiple("tree_menu_2", "tree_menu_2")', 1500))


Je sais que sa dur à voir, mais elle recrache un tableau javascript mal explique le tableau
Code: [ Select ]
new Array("Errors", "HTML CODE", a javascript array for what folders need to open, function call to setup the first right click menu, function call to setup the second right click menu)


L'appel AJAX et les fonctions de retour
JAVASCRIPT Code: [ Select ]
function load_tree() {
   
   // Set the loader ball
   document.getElementById('loader_text').innerHTML = 'Loading Folder Tree';
   document.getElementById('folders_container').innerHTML = document.getElementById('loader_ball_container').innerHTML;
   
   // Send the request
   ajax_request(ajax_connect(), 'process_load_tree.php', 'ajax_load_tree_return');
   
}
 
// This function will process our driectory tree
function ajax_load_tree_return(return_object) {
   
   // Get the return array
   return_array = eval(unescape(return_object));
   
   // Check for errors
   if(return_array[0] != 'none') {
     
      // Trigger the error
      error(return_array[0]);
     
   } else {
     
      // Add the folders in the folder div
      document.getElementById('folders_container').innerHTML = return_array[1];
     
      // Set the folder tree
      set_folder_tree(return_array[2]);
     
   }
   
   
}
 
  1. function load_tree() {
  2.    
  3.    // Set the loader ball
  4.    document.getElementById('loader_text').innerHTML = 'Loading Folder Tree';
  5.    document.getElementById('folders_container').innerHTML = document.getElementById('loader_ball_container').innerHTML;
  6.    
  7.    // Send the request
  8.    ajax_request(ajax_connect(), 'process_load_tree.php', 'ajax_load_tree_return');
  9.    
  10. }
  11.  
  12. // This function will process our driectory tree
  13. function ajax_load_tree_return(return_object) {
  14.    
  15.    // Get the return array
  16.    return_array = eval(unescape(return_object));
  17.    
  18.    // Check for errors
  19.    if(return_array[0] != 'none') {
  20.      
  21.       // Trigger the error
  22.       error(return_array[0]);
  23.      
  24.    } else {
  25.      
  26.       // Add the folders in the folder div
  27.       document.getElementById('folders_container').innerHTML = return_array[1];
  28.      
  29.       // Set the folder tree
  30.       set_folder_tree(return_array[2]);
  31.      
  32.    }
  33.    
  34.    
  35. }
  36.  


Donc quand l'AJAX revient j'unescape il puisque je devais échapper il entrer dans le tableau et puis EVAL pour rendre un tableau réel et non une chaîne. Maintenant, j'ai pensé que c'était peut-être dû à la mal eval et IE donc j'ai essayé quelque chose le long des lignes de cette http://ajaxian.com/archives/evaling-with-ies-windowexecscript et a obtenu les mêmes résultats

Quelqu'un at-il des idées?, Questions.... Pommes ?

Je peux avoir une solution mal être essai aujourd'hui ou demain si ça marche je peux aller que la route mais qui signifie changer l'ensemble du site, comme c'est de fixer un IE :evil: question qui ne se produit que lorsque quelqu'un s'étend sur leur écran.
  • ScottG
  • Proficient
  • Proficient
  • No Avatar
  • Inscription: Juil 06, 2010
  • Messages: 265
  • Status: Online

Message Février 24th, 2012, 10:11 am

Après des essais plus mon idée originale faire cela fonctionne très bien et a convaincu mon client à me faire à ma façon. J'aurai besoin de changer une bonne majorité du site mais oh bien. Plupart de l'infrastructure que j'ai déjà mis en place.

J'ai jugé également la question de cette bourde IE la fonction EVAL mal.

Merci à ceux qui m'ont aidé à ce sujet (Me, Myself, and I) et à ce forum pour me permettre de textuellement d'entraînement, mon plus gros problèmes de codage.:wink:

Pour l'instant toute alternative à eval n'ont pas si quelqu'un sait tout ce qui peut me le faire savoir et mal mettre à l'épreuve.
  • ScottG
  • Proficient
  • Proficient
  • No Avatar
  • Inscription: Juil 06, 2010
  • Messages: 265
  • Status: Online

Message Février 28th, 2012, 12:09 pm

Bien? Si mon idée fonctionne très bien si les fichiers sont en locales sur mon ordinateur, mais dès que leur téléchargement vers le serveur, même sans la fonction eval il est encore un problème de plantage. Pas aussi grave qu'avant mais toujours un problème. IE votre killing me. Si?? Maintenant, je pense qu'il peut être utiliser innerHTML. ou des blocs de mémoire de IE. quelque chose se passe i tout simplement pas complètement sûr de ce que.
  • ScottG
  • Proficient
  • Proficient
  • No Avatar
  • Inscription: Juil 06, 2010
  • Messages: 265
  • Status: Online

Message Mars 6th, 2012, 10:58 am

Bien!!!! PROBLÈME résolu. Toutes mes pensées originales ont eu tort sur la question et la question était en réalité cet stupide morceau de code.

Library.add_event(Window,"Resize",context_menu.init) ;

Je ne pas vraiment besoin il sorte il a été éliminé pour le site
  • Bigwebmaster
  • Site Admin
  • Site Admin
  • Avatar de l’utilisateur
  • Inscription: Déc 20, 2002
  • Messages: 8925
  • Loc: Seattle, WA & Phoenix, AZ
  • Status: Offline

Message Mars 6th, 2012, 11:36 am

Quote:
Merci à ceux qui m'ont aidé à ce sujet (Me, Myself, and I) et à ce forum pour me permettre de textuellement d'entraînement, mon plus gros problèmes de codage.


Je suis vraiment heureux pour vous tous les trois ont été incapables de comprendre cela ! Je suis heureux que vous étiez en mesure de comprendre la question, j'exécute occasionnellement dans Dingo des problèmes comme celui-ci qui touchent seulement un navigateur, il devient très frustrant. Je suis heureux que vous avez pu il étroit vers le bas pour que l'un des événements :

Code: [ Select ]
library.add_event(window,"resize",context_menu.init);


Selon moi, qu'il aurait été difficile pour chacun de nous limiter qu'en raison de la nature limitée de la quantité de code que vous étiez en mesure de nous fournir. Si les sons de celui-ci, il n'avait rien à voir avec l'appel AJAX et au lieu de cela devait faire avec un événement à l'écoute pour tout redimensionnement de la fenêtre ? A vous jamais comprendre pourquoi ce morceau de code a causé des problèmes, peut-être que c'était trop lent à calculer ? ou peut-être même si vous redimensionner une fenêtre on l'appelait des centaines de fois pour chaque modification que votre souris a lentement changé la taille de la fenêtre qui a appelé cet événement chaque fois ? Ma première conjecture est que peut-être alors le problème et peut-être seulement d'exécuter cet événement tant qu'aucun bouton de la souris n'est actuellement un clic pourraient résoudre cette question, parce que l'événement serait uniquement exécuter une fois contre plusieurs fois. Je comprends que votre problème est résolu, dont je suis heureux d'entendre, je voudrais juste toujours apprendre au cas où quelque chose comme cela devait m'arriver plus tard ou si quelqu'un sur la route a trébuché sur un problème similaire que vous.

Tiens que nous pourrions ont été plus d'aide pour vous, merci de poster tellement de détails cependant. Peut-être que nous pouvons vous aider mieux la prochaine fois.
Ozzu Hosting - Want your website on a fast server like Ozzu?
  • Bigwebmaster
  • Site Admin
  • Site Admin
  • Avatar de l’utilisateur
  • Inscription: Déc 20, 2002
  • Messages: 8925
  • Loc: Seattle, WA & Phoenix, AZ
  • Status: Offline

Message Mars 6th, 2012, 11:43 am

Quelques liens j'ai trouvé sur cette question sont intéressants :

http://snook.ca/archives/javascript/ie6_fires_onresize

http://stackoverflow.com/questions/1852751/window-resize-event-firing-in-internet-explorer
Ozzu Hosting - Want your website on a fast server like Ozzu?
  • ScottG
  • Proficient
  • Proficient
  • No Avatar
  • Inscription: Juil 06, 2010
  • Messages: 265
  • Status: Online

Message Mars 6th, 2012, 11:53 am

J'ai trouvé c'est pas AJAX ou tout ce que je pense que c'est il semble que façon parce que la fonction pour lancer le menu contextuel est arrivé grâce à l'AJAX, c'était pas jusqu'à ce que j'ai commencé à dépouiller le code pour le strict minimum que la question il a révélé lui-même.

Je ne crois pas que la raison que le code a été s'écraser IE était due à elle appelle plusieurs centaines de fois que la fonction complète ressemble à ceci

JAVASCRIPT Code: [ Select ]
// Initialize
"init":function() {
   
   // Get the body element
   var body = document.getElementsByTagName("body")[0];
   
   // Set the max width/max height to be the windows size
   context_menu.max_width  = body.clientWidth  || body.offsetWidth;
   context_menu.max_height = body.clientHeight || body.offsetHeight;
   
   /* THIS CAUSES IE TO CRASH NEED TO LOOK INTO ANOTHER WAY
   
   // Add an event to redo the max with/height on resizing the window
   library.add_event(window,"resize",context_menu.init);
   
   //*/
},
 
  1. // Initialize
  2. "init":function() {
  3.    
  4.    // Get the body element
  5.    var body = document.getElementsByTagName("body")[0];
  6.    
  7.    // Set the max width/max height to be the windows size
  8.    context_menu.max_width  = body.clientWidth  || body.offsetWidth;
  9.    context_menu.max_height = body.clientHeight || body.offsetHeight;
  10.    
  11.    /* THIS CAUSES IE TO CRASH NEED TO LOOK INTO ANOTHER WAY
  12.    
  13.    // Add an event to redo the max with/height on resizing the window
  14.    library.add_event(window,"resize",context_menu.init);
  15.    
  16.    //*/
  17. },
  18.  


La partie étrange à ce sujet est le fait que c'est seulement arrivé lorsqu'il a été téléchargé vers un serveur, j'ai essayé les deux serveurs différents et il a obtenu le même résultat, mais le lancement de mon localhost sur mon comp ne posé aucune question.
  • ScottG
  • Proficient
  • Proficient
  • No Avatar
  • Inscription: Juil 06, 2010
  • Messages: 265
  • Status: Online

Message Mars 6th, 2012, 12:05 pm

Merci pour ces articles. Confirme mes pensées sur le code.
  • Bigwebmaster
  • Site Admin
  • Site Admin
  • Avatar de l’utilisateur
  • Inscription: Déc 20, 2002
  • Messages: 8925
  • Loc: Seattle, WA & Phoenix, AZ
  • Status: Offline

Message Mars 6th, 2012, 12:21 pm

Je ne crois pas qu'étrange que localement vous n'avez pas le problème lors du chargement de tout dans votre navigateur, mais une fois téléchargé sur un serveur et d'accéder aux fichiers de cette façon, vous avez le problème. J'ai pensé seulement ce comportement est que lorsque vous le chargez localement, vous êtes sûr que tous les fichiers JavaScript sont chargés en réalité ? Parfois IE empêche les scripts de chargement localement (vous devrez peut-être ajuster les paramètres de votre navigateur si vous souhaitez activer que), ou son également possible que votre chemin vers le script est erronée et n'est pas charger. Ce serait vraiment ma seules suppositions à pourquoi localement vous sont remarquaient pas le problème. Si c'est le problème et le script s'exécute tout simplement pas, le problème peut encore existent dans les deux endroits.
Ozzu Hosting - Want your website on a fast server like Ozzu?
  • ScottG
  • Proficient
  • Proficient
  • No Avatar
  • Inscription: Juil 06, 2010
  • Messages: 265
  • Status: Online

Message Mars 6th, 2012, 12:50 pm

J'ai exécuter même si le serveur Apache, que j'ai installé sur mon système. Mes pensées seulement sont que la comp que j'utilise est un système de jeu puissance de traitement n'est pas un problème ? Im pas certain que les spécifications sur les autres serveurs sont. J'ai eu pas Javascript s'exécute ne pas dans le passé sur mon serveur de test. Je sais que, lorsque l'url est file:\\blah IE pop ouvre la boîte pour permettre le javascript. Accéder à la fichier àhttp://localhost/blah

C'est quelque chose de mal regarde pour voir si tout le code Javascript est en cours d'exécution. Tous les chemins vers les fichiers Javascript sont corrects et les fichiers existent.

J'imagine serait que la puissance de traitement sur le serveur ne suffit pas de mettre la fonction de code de redimensionnement assez vite
  • Bigwebmaster
  • Site Admin
  • Site Admin
  • Avatar de l’utilisateur
  • Inscription: Déc 20, 2002
  • Messages: 8925
  • Loc: Seattle, WA & Phoenix, AZ
  • Status: Offline

Message Mars 6th, 2012, 5:56 pm

Tous les JavaScript est exécuté côté client, jamais sur le côté serveur. Alors que le code Javascript peut être téléchargé sur le serveur, il est encore réellement exécuté sur votre ordinateur que vous parcourez avec. Donc dans les deux cas, votre ordinateur est en réalité celle l'exécution de le JavaScript.

Un test simple que vous pourriez faire pour s'assurer que c'est les deux manières, en cours d'exécution est d'appeler une alerte. Si vous n'obtenez pas une boîte de menu contextuel pour les deux, puis quelque chose n'est pas bonne. Donc par exemple :

JAVASCRIPT Code: [ Select ]
alert("This is a test message");
Ozzu Hosting - Want your website on a fast server like Ozzu?
  • ScottG
  • Proficient
  • Proficient
  • No Avatar
  • Inscription: Juil 06, 2010
  • Messages: 265
  • Status: Online

Message Mars 7th, 2012, 9:37 am

Qui a un sens, mais alors je n'ai aucune idée pourquoi elle a travaillé de cette façon mais qu'est-il. Mon serveur de test et de la live server sont en cours d'exécution javascript. L'une des autres choses étranges que je suis tombé avec traitant de cette question est web normes tentent d'éliminer l'utilisation des Iframes et dans il y a lieu, ils veulent que vous pouvez utiliser la balise d'objet dans ce type de moyen
HTML Code: [ Select ]
<object id="foo" name="foo" type="text/html" data="http://www.w3schools.com/"></object>
 
  1. <object id="foo" name="foo" type="text/html" data="http://www.w3schools.com/"></object>
  2.  


Ce serait la raison pour laquelle utiliser Id pour traiter les formes avec les avoir utiliser AJAX pour envoyer des infos, fenêtre popup ou un rafraîchissement de page. tout simplement, vous présenter à l'objet.

IE travailleront localement si vous cliquez sur la case que pop up permettra l'active x / boîte de javascript ainsi que sur mon serveur de test, mais lorsqu'il est sur un serveur direct, l'objet ne parle pas le tape pas de fenêtre du tout et vous obtenez un popup de problème de sécurité. IE ne permettra pas à travailler comme un iframe.

Afficher de l'information

  • Total des messages de ce sujet: 13 messages
  • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 176 invités
  • Vous ne pouvez pas poster de nouveaux sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas éditer vos messages
  • Vous ne pouvez pas supprimer vos messages
  • Vous ne pouvez pas joindre des fichiers
 
 

© 2011 Unmelted, LLC. Ozzu® est une marque déposée de Unmelted, LLC