Vous n'êtes pas identifié(e).
L'échec du try courant entraine l'essai du try suivant. Le succès retourne l'objet créé courant les précédents n'ayant pas été créés.
Je ne vois pas la différence dans le résultat (et à vrai dire pas non plus vraiment dans l'éxécution). J'avais aussi envisagé ce schéma mais je ne vois pas sa supériorité. Ne m'en voulez pas trop
Bon, le but est d'utiliser le meilleur ActiveX si besoin et si possible. Je veux donc chercher à créer les objets dans l'ordre que je les ai donné. Cependant, dès que j'arrive à en créer un, les précédents n'ayant pas été créés, je veux le retourner et ne pas faire les autres try.
Je vais essayer de résumé ce qui me semble pertinent dans mon cas.
On essaie de réaliser le contenu d'un bloc try. Si cela échoue, on effectue les instructions du bloc catch associé (qui connait la raison de l'erreur).
L'utilisation de throw entraine l'arret du script. Je ne peux donc l'utiliser qu'à la fin du script puisque je veux essayer tous les cas jusqu'à réalisation.
Return met fin à la fonction en sortant le resultat courant. Il n'est atteint qu'en cas de succès de la création.
Dans ces conditions, si l'un des try se réalise, alors on sort l'objet courant créé, la création des précédents ayant échoué. Enfin, si aucun ne convient, l'instruction throw met fin au script.
Du coup, je ne vois pas pourquoi "Cette fonction en résumé va créer une instance de tous les objets qu'elle va arriver à créer". Je ne vois pas à côté de quoi je passe.
Je ne sais pas comment je dois le prendre :s (je crois plutôt négativement, mais je n'en suis pas sur).
[code javascript]
try {
return new XMLHttpRequest();
}
catch(e) {
alert("XMLHttpRequest not supported");
return null;
}
[/code]
est licite ?
Et je fais ça pour tous ? Je le cascade ?
J'avais mal compris ta deuxième réponse. Je me suis attardé sur les versions. Ce que je proposais ne visait que les versions ^^
A vrai dire, je ne vois pas l'erreur concernant le try catch dans :
[code javascript]
function createXMLHttpRequest() {
try { return new XMLHttpRequest(); } catch(e) {}
try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
alert("XMLHttpRequest not supported");
return null;
}
[/code]
[code javascript]
function createXMLHttpRequest() {
try { return new XMLHttpRequest(); } catch(e) {}
try { return new ActiveXObject("Msxml2.XMLHTTP.6.0"); } catch (e) {}
try { return new ActiveXObject("Msxml2.XMLHTTP.3.0"); } catch (e) {}
try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
throw new Error("This browser does not support XMLHttpRequest.");
return null;
}
[/code]
??
J'ai ajouté des versions (je suppose qu'il y en a d'autres) et généralisé la méthode...mais je vois pas pourquoi ça serait mieux...
Et maintenant je me demande à qui servent les versions Msxml2.XMLHTTP, pour quoi les utiliser, et quelle version ?
Cette page indique pour 6 et 3 et pas les autres : http://blogs.msdn.com/b/xmlteam/archive … lorer.aspx
Je pense que l'erreur se situe au niveau du choix de l'ActiveX ? Je vais chercher pour voir s'il y en a d'autres...Si en revanche il faut que j'ajoute quelque chose d'autre, je ne vois pas ^^
Concernant le $.ajax, je suppose qu'il faut référence à un framework (ce qui a priori ne m'intéresse pas ^^).
Bien évidement cela a fonctionné.
J'ai cependant du mal a voir pourquoi c'est si mauvais que ça
J'ai regardé ce que je pouvais trouver pour obtenir un résultat similaire :
[code javascript]
function createXMLHttpRequest() {
try { return new XMLHttpRequest(); } catch(e) {}
try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
alert("XMLHttpRequest not supported");
return null;
}
[/code]
Mais je fais la même chose (certes pas avec la même version) ?
Bonjour,
Suite à cette conversation,
Je vous demande votre avis sur le script suivant.
Je m'interesse en particulier en savoir plus sur XSLTProcessor().
[code javascript]
var XMLtoHTML = {
xml : '',
xsl : '',
html : '',
loadFile : function(fileName){
// Pour tous les navigateurs
if(window.XMLHttpRequest){
xhttp = new XMLHttpRequest();
}
// Sauf IE
else{
xhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
// On charge le fichier XML
xhttp.open("GET", fileName, false);
xhttp.send("");
return xhttp.responseXML;
},
loadXML : function(fileNameXML){
this.xml = this.loadFile(fileNameXML);
},
loadXSL : function(fileNameXSL){
this.xsl = this.loadFile(fileNameXSL);
},
transformXML : function(fileNameXML, fileNameXSL){
// On charge les données
this.loadXML(fileNameXML);
this.loadXSL(fileNameXSL);
// Pour IE
if (window.ActiveXObject){
this.html = this.xml.transformNode(this.xsl);
// document.getElementById("example").innerHTML=ex;
}
// Pour les autres
else{
if(document.implementation && document.implementation.createDocument){
xsltProcessor = new XSLTProcessor();
xsltProcessor.importStylesheet(this.xsl);
this.html = xsltProcessor.transformToFragment(this.xml, document);
// document.getElementById("example").appendChild(resultDocument);
}
else{
alert('Erreur');
}
}
},
refreshElement : function(fileNameXML, fileNameXSL, elementID){
// On vide l'élément
this.removeAllElements(elementID);
// On transforme
this.transformXML(fileNameXML, fileNameXSL);
// On récupère le conteneur
var element = document.getElementById(elementID);
// Pour IE
if(document.all){
element.innerHTML = this.html;
}
// Pour les autres
else{
element.appendChild(this.html);
}
},
removeAllElements : function(elementID){
var element = document.getElementById(elementID);
var firstChild;
while(firstChild = element.firstChild){
element.removeChild(firstChild);
}
}
};
[/code]
Merci !
Okay ! Je vais regarder tout ça !
Merci !
Bon et bien je pense que je vais tenter ^^ Je vais bien voir ce que cela me donne sur des choses simples !
Je vais avoir un stage avec lequel je vais devoir travailler du XML, c'est l'occasion (et aussi la raison) !
Je prendrais tout autre avis s'il y en a qui suivent !
Merci !
Après quelques recherches :
Que pensez-vous des systèmes de template à partir de XML & XSLT ?
Bonjour,
Jusqu'à présent, lorsque je voulais afficher du contenu, je faisais la requète sur ma page puis je traitais directement les résultats dans une boucle while.
Voulant jouer avec le XML, j'extrais désormais les données de ma boucle while dans un fichier XML puis muni d'un fichier XSL je génère le HTML.
Je voulais savoir si c'est un bonne méthode ? Commentaire et critique !
Merci !
PS :
Pour la gestion du XML, j'utilise DomDocument et XSLTProcessor.
Je me pose aussi une autre question (mais ce sera peut-être un autre sujet), le XSL propose de pouvoir trier les données. Jusqu'à présent je faisais des requètes très complètes de façon à obtenir exactement la sortie que je voulais, ce que je compte garder. Du coup, j'utilise le XSL pour la mise en page des données.
Que pensez-vous de la librairie java 3D par rapport à ce qui précède ?
Processing a l'air interessant (surtout l'aspecr sans plugin). En revanche, les exemples qui sont proposés n'ont pas fonctionné avec IE 8 ^^
Cependant, je souhaite manipuler des objets 3D, et pour le coup je pense que ce n'est pas très bien adapté.
La dépendance d'un plugin n'est pas forcément génante (même si on préfererait s'en passer), c'est plutôt la portabilité (plateforme, navigateur) qui est important.
Je suis tombé sur du Java aussi (quand j'ai regardé rapidement sur le net).
J'attends des avis et des remarques
Bonjour,
J'utilise actuellement un ActiveX qui me permet d'afficher dans une page web un contenu externe 3D et de me déplacer dedans.
Je cherche une technologie ou un moyen qui pourrait me permettre d'étendre la comptabilité et la portabilité de ce système.
Quel format choisir ? Flash (et fausse 3D) ?
Le but est juste d'afficher des images (des vidéos) en 3D (et fausse 3D) et de pouvoir interagir avec elles (déplacement de la caméra, zoom).
Merci par avance pour vos pistes.
Oui ^^ Donc même question en supposant LIKE
[code sql]
SELECT
*
FROM
ma_table
WHERE
champ_1 LIKE '%'
AND
champ_2 LIKE 'valeur'
[/code]
Je viens de penser à autre chose
[code sql]
SELECT
*
FROM
ma_table
WHERE
champ_1 = '%'
AND
champ_2 = 'valeur'
[/code]
Inconvénients de l'utilisation de '%' qui rend la condition sur le champ_1 vide ?
Ok ! Je viens de tester et cela me convient !
Je vous remercie.
Je connais le nombre de conditions possibles mais elles ne sont pas forcément toutes présentes en même temps
On réduit l'écriture mais (même si je ne sais pas vraiment si c'est embetant) on garde la même structure.
Je pourrais reformuler : est-ce que je peux n'avoir qu'une seule requète avec des "conditions vides" par exemple ?
Bonjour,
Je fais une requête classique :
[code mysql]
SELECT
*
FROM
ma_table
[/code]
A partir d'un formulaire, je voudrais pouvoir composer une requète qui prenne en compte un ou deux paramètres (ou plus).
Je peux donc suivant le cas formuler deux autres requètes :
[code mysql]
SELECT
*
FROM
ma_table
WHERE
condition_1
[/code]
et
[code mysql]
SELECT
*
FROM
ma_table
WHERE
condition_1
AND
condition_2
[/code]
Comment faire pour ne pas avoir une succession de tests avant d'arriver à la bonne requète ?
[code php]
<?php
if(conditions_pour_1_et_2){
requete_1_2
}
elseif(conditions_pour_1){
requete_1
}
elseif(conditions_pour_2){
requete_2
}
else{
requete_0
}
[/code]
Merci.
Prototype : mon but est de voir les principes sans framework dans un premier temps.
Je n'utilise jusqu'à présent que le Ajax.Refresh de prototype.
Bonjour,
J'ai réalisé un site en AJAX.
Jusqu'à présent, la page PHP qui traite ma demande me retourne mon code HTML que j'intègre avec innerHTML. Plus précisément, je crée dans ma page principale un tableau (<table>) et je rafraichis un <tbody> (le thead ne changeant pas et contenant le nom des colonnes).
L'amélioration que je veux apporter est la possibilité d'obtenir d'autres données. Par exemple pas seulement les lignes (<tr><td>) de ma requète mais aussi le nombre d'enregistrements.
C'est pourquoi, je veux maintenant retourner un objet JSON (à la place du HTML), puis le traiter en Javascript pour rafraichir mon tableau. Et je peux donc ajouter d'autres champs à mon objet JSON comme je le veux.
Ma question est de savoir jusqu'où je dois aller dans la création en passant par DOM (puisque c'est ainsi que se fait le rafraichissement).
En particulier, dans quelle mesure dois-je garder ma base en HTML dans ma page principale ? Comment définir le remplissage des cellules du tableau (comment définir un modèle de remplissage et où le définir) ?
Autrement dire, jusqu'à quand doit-ton remplacer le HTML par du DOM ? (parce que je n'en ai déjà plus beaucoup).
Sujet un peu philosophique ? Je prends tous les liens qui vous paraissent répondre !
Merci !