prendre un document html, garder tout ce qu'il y a dans
<html>....</html> excepté ce qu'il y a dans body où je ne souhaite
garder que l'élément où l'utilisateur a cliqué.
alors j'ai suivi la pafe
<http://www.quirksmode.org/js/events_mouse.html>
et
<http://www.quirksmode.org/dom/getElementsByTagNames.html>
où j'ai extrait leur fonction "getElementsByTagNames(list,obj)"
qui ne marche pas vraiment comme je le souhaiterait le script :
--- getElementsByTagNames(list,obj) ---
function getElementsByTagNames(list,obj) {
nb_calls++;
if (!obj) var obj = document.body;
var tagNames = list.split(',');
var resultArray = new Array();
var tags;
for (var i=0;i<tagNames.length;i++) {
tags = obj.getElementsByTagName(tagNames[i]);
nb_tags+=tags.length;
for (var j=0;j<tags.length;j++) {
resultArray.push(tags[j]);
nb_loop++;
}
}
return resultArray;
}
-----------------------------------------------------
les vars nb_calls, nb_tags et nb_loop sont des espions pour savoir ce
qui se passe.
un résultat sur une div de contenu (abrégé mais donnat tous les tags) :
suivant des conseils donnés sur "comp.lang.javascript" :
That's enough. Once you have a reference to div two, you can remove all the body's child nodes, then re-attache div two:
function trimBody (htmlElement){ var docBody = document.body; while ( docBody.firstChild ){ docBody.removeChild( docBody.firstChild ); } docBody.appendChild( htmlElement ); }
ça m'a l'air d'être exackquetement la même chose que ce que j'ai donné, sauf qu'on n'y récupère que l'élément cliqué (au lieu d'icelui plus tous ses frères du même div conteneur).
(en plus laborieux puisqu'il faut que l'élément lui-même soit cliquable)
Attention, avec trimBody ! Si je clique un LI rien ne s'affiche exception erreur : groso-modo -> où est mon UL ? et ce sera sans-doute la même chose pour un TD ( ?)
suivant des conseils donnés sur "comp.lang.javascript" :
That's enough. Once you have a reference to div two, you can remove
all the body's child nodes, then re-attache div two:
function trimBody (htmlElement){
var docBody = document.body;
while ( docBody.firstChild ){
docBody.removeChild( docBody.firstChild );
}
docBody.appendChild( htmlElement );
}
ça m'a l'air d'être exackquetement la même chose que ce que j'ai donné,
sauf qu'on n'y récupère que l'élément cliqué (au lieu d'icelui plus tous
ses frères du même div conteneur).
(en plus laborieux puisqu'il faut que l'élément lui-même soit cliquable)
Attention, avec trimBody !
Si je clique un LI rien ne s'affiche
exception erreur : groso-modo -> où est mon UL ?
et ce sera sans-doute la même chose pour un TD ( ?)
suivant des conseils donnés sur "comp.lang.javascript" :
That's enough. Once you have a reference to div two, you can remove all the body's child nodes, then re-attache div two:
function trimBody (htmlElement){ var docBody = document.body; while ( docBody.firstChild ){ docBody.removeChild( docBody.firstChild ); } docBody.appendChild( htmlElement ); }
ça m'a l'air d'être exackquetement la même chose que ce que j'ai donné, sauf qu'on n'y récupère que l'élément cliqué (au lieu d'icelui plus tous ses frères du même div conteneur).
(en plus laborieux puisqu'il faut que l'élément lui-même soit cliquable)
Attention, avec trimBody ! Si je clique un LI rien ne s'affiche exception erreur : groso-modo -> où est mon UL ? et ce sera sans-doute la même chose pour un TD ( ?)
-- ASM
pere.noel
ASM wrote:
ça m'a l'air d'être exackquetement la même chose que ce que j'ai donné, sauf qu'on n'y récupère que l'élément cliqué (au lieu d'icelui plus tous ses frères du même div conteneur).
attends, je ne pige pas on récupère toute l'arborescence sous le truc sur lequel on a cliqué non ?
enfin chez moi c'est ce que je vois, mais mon test est un cas ***facile***
je vais mettre au point un script ruby pour inclure le js dans n'importe quelle page.
(en plus laborieux puisqu'il faut que l'élément lui-même soit cliquable)
comment ça ?
Attention, avec trimBody ! Si je clique un LI rien ne s'affiche exception erreur : groso-modo -> où est mon UL ? et ce sera sans-doute la même chose pour un TD ( ?)
ouais ça j'ai vu et même si on clique sur une zone où il n'y a que le body, on a + rien...
pas grave, il suffit de rapeller la page.
en + du script ruby ce que me reste à faire c'est à sauvegarder la page ainsi trimée, vu que la source reste identique à l'original...
je ne vois pas trop la différence entre ce que tu m'as filé et ce que l'autre gars m'a filé mise à part la boucle while que je trouve plus élégante que la loop for.
d'ailleurs, à ce sujet, chez moi j'ai du faire une boucle for en partant du dernier élément pour aller vers le premier sinon ça déconne...
ça m'a l'air d'être exackquetement la même chose que ce que j'ai donné,
sauf qu'on n'y récupère que l'élément cliqué (au lieu d'icelui plus tous
ses frères du même div conteneur).
attends, je ne pige pas on récupère toute l'arborescence sous le truc
sur lequel on a cliqué non ?
enfin chez moi c'est ce que je vois, mais mon test est un cas
***facile***
je vais mettre au point un script ruby pour inclure le js dans n'importe
quelle page.
(en plus laborieux puisqu'il faut que l'élément lui-même soit cliquable)
comment ça ?
Attention, avec trimBody !
Si je clique un LI rien ne s'affiche
exception erreur : groso-modo -> où est mon UL ?
et ce sera sans-doute la même chose pour un TD ( ?)
ouais ça j'ai vu et même si on clique sur une zone où il n'y a que le
body, on a + rien...
pas grave, il suffit de rapeller la page.
en + du script ruby ce que me reste à faire c'est à sauvegarder la page
ainsi trimée, vu que la source reste identique à l'original...
je ne vois pas trop la différence entre ce que tu m'as filé et ce que
l'autre gars m'a filé mise à part la boucle while que je trouve plus
élégante que la loop for.
d'ailleurs, à ce sujet, chez moi j'ai du faire une boucle for en partant
du dernier élément pour aller vers le premier sinon ça déconne...
ça m'a l'air d'être exackquetement la même chose que ce que j'ai donné, sauf qu'on n'y récupère que l'élément cliqué (au lieu d'icelui plus tous ses frères du même div conteneur).
attends, je ne pige pas on récupère toute l'arborescence sous le truc sur lequel on a cliqué non ?
enfin chez moi c'est ce que je vois, mais mon test est un cas ***facile***
je vais mettre au point un script ruby pour inclure le js dans n'importe quelle page.
(en plus laborieux puisqu'il faut que l'élément lui-même soit cliquable)
comment ça ?
Attention, avec trimBody ! Si je clique un LI rien ne s'affiche exception erreur : groso-modo -> où est mon UL ? et ce sera sans-doute la même chose pour un TD ( ?)
ouais ça j'ai vu et même si on clique sur une zone où il n'y a que le body, on a + rien...
pas grave, il suffit de rapeller la page.
en + du script ruby ce que me reste à faire c'est à sauvegarder la page ainsi trimée, vu que la source reste identique à l'original...
je ne vois pas trop la différence entre ce que tu m'as filé et ce que l'autre gars m'a filé mise à part la boucle while que je trouve plus élégante que la loop for.
d'ailleurs, à ce sujet, chez moi j'ai du faire une boucle for en partant du dernier élément pour aller vers le premier sinon ça déconne...
ASM
ASM wrote:
ça m'a l'air d'être exackquetement la même chose que ce que j'ai donné, sauf qu'on n'y récupère que l'élément cliqué (au lieu d'icelui plus tous ses frères du même div conteneur).
attends, je ne pige pas on récupère toute l'arborescence sous le truc sur lequel on a cliqué non ?
Avec ton exemple en ligne, je clique qque part ça me sort tout le paragraphe oui. Si je clic bas glisse et clic haut sur un autre élément, je n'ai que ce dernier élément (paragraphe?). Je pensais que tu en voulais un peu plus (j'ai visé le div conteneur)
(en plus laborieux puisqu'il faut que l'élément lui-même soit cliquable)
comment ça ?
exemple c.l.javascript intégrait le onclick dans les éléments. (ceux sans onclick ne sont donc pas appelables)
Attention, avec trimBody ! Si je clique un LI rien ne s'affiche exception erreur : groso-modo -> où est mon UL ? et ce sera sans-doute la même chose pour un TD ( ?)
ouais ça j'ai vu et même si on clique sur une zone où il n'y a que le body, on a + rien...
pas grave, il suffit de rapeller la page.
Heu déjà que ce n'est pas top de se voir avec le texte brut seul et qu'il faille recharger la page ... s'il faut en plus ne voir que du vide ... qui va comprendre ?
en + du script ruby ce que me reste à faire c'est à sauvegarder la page ainsi trimée, vu que la source reste identique à l'original...
Là ce n'est pas gagné ... tout ce que j'arrive à faire est : donner le targ_up.nodeValue en valeur d'un input d'un form d'un popup puis de submitter le form ... :-(
je ne vois pas trop la différence entre ce que tu m'as filé et ce que l'autre gars
Je récupère l'élément (un input ?) plus tout les autres du même div.
m'a filé mise à part la boucle while que je trouve plus élégante que la loop for.
Je n'ai pas de loop for non plus (à moins qu'on ne parle pas de la même chose ?) La différence essentielle est que je clone inutilement l'élément cliqué.
d'ailleurs, à ce sujet, chez moi j'ai du faire une boucle for en partant du dernier élément pour aller vers le premier sinon ça déconne...
C'est un chez toi que je n'ai pas vu, me semble-ce.
ça m'a l'air d'être exackquetement la même chose que ce que j'ai donné,
sauf qu'on n'y récupère que l'élément cliqué (au lieu d'icelui plus tous
ses frères du même div conteneur).
attends, je ne pige pas on récupère toute l'arborescence sous le truc
sur lequel on a cliqué non ?
Avec ton exemple en ligne, je clique qque part ça me sort tout le
paragraphe oui.
Si je clic bas glisse et clic haut sur un autre élément, je n'ai que ce
dernier élément (paragraphe?).
Je pensais que tu en voulais un peu plus (j'ai visé le div conteneur)
(en plus laborieux puisqu'il faut que l'élément lui-même soit cliquable)
comment ça ?
exemple c.l.javascript intégrait le onclick dans les éléments.
(ceux sans onclick ne sont donc pas appelables)
Attention, avec trimBody !
Si je clique un LI rien ne s'affiche
exception erreur : groso-modo -> où est mon UL ?
et ce sera sans-doute la même chose pour un TD ( ?)
ouais ça j'ai vu et même si on clique sur une zone où il n'y a que le
body, on a + rien...
pas grave, il suffit de rapeller la page.
Heu déjà que ce n'est pas top de se voir avec le texte brut seul
et qu'il faille recharger la page ...
s'il faut en plus ne voir que du vide ... qui va comprendre ?
en + du script ruby ce que me reste à faire c'est à sauvegarder la page
ainsi trimée, vu que la source reste identique à l'original...
Là ce n'est pas gagné ...
tout ce que j'arrive à faire est :
donner le targ_up.nodeValue en valeur d'un input d'un form d'un popup
puis de submitter le form ... :-(
je ne vois pas trop la différence entre ce que tu m'as filé et ce que
l'autre gars
Je récupère l'élément (un input ?) plus tout les autres du même div.
m'a filé mise à part la boucle while que je trouve plus
élégante que la loop for.
Je n'ai pas de loop for non plus
(à moins qu'on ne parle pas de la même chose ?)
La différence essentielle est que je clone inutilement l'élément cliqué.
d'ailleurs, à ce sujet, chez moi j'ai du faire une boucle for en partant
du dernier élément pour aller vers le premier sinon ça déconne...
C'est un chez toi que je n'ai pas vu, me semble-ce.
ça m'a l'air d'être exackquetement la même chose que ce que j'ai donné, sauf qu'on n'y récupère que l'élément cliqué (au lieu d'icelui plus tous ses frères du même div conteneur).
attends, je ne pige pas on récupère toute l'arborescence sous le truc sur lequel on a cliqué non ?
Avec ton exemple en ligne, je clique qque part ça me sort tout le paragraphe oui. Si je clic bas glisse et clic haut sur un autre élément, je n'ai que ce dernier élément (paragraphe?). Je pensais que tu en voulais un peu plus (j'ai visé le div conteneur)
(en plus laborieux puisqu'il faut que l'élément lui-même soit cliquable)
comment ça ?
exemple c.l.javascript intégrait le onclick dans les éléments. (ceux sans onclick ne sont donc pas appelables)
Attention, avec trimBody ! Si je clique un LI rien ne s'affiche exception erreur : groso-modo -> où est mon UL ? et ce sera sans-doute la même chose pour un TD ( ?)
ouais ça j'ai vu et même si on clique sur une zone où il n'y a que le body, on a + rien...
pas grave, il suffit de rapeller la page.
Heu déjà que ce n'est pas top de se voir avec le texte brut seul et qu'il faille recharger la page ... s'il faut en plus ne voir que du vide ... qui va comprendre ?
en + du script ruby ce que me reste à faire c'est à sauvegarder la page ainsi trimée, vu que la source reste identique à l'original...
Là ce n'est pas gagné ... tout ce que j'arrive à faire est : donner le targ_up.nodeValue en valeur d'un input d'un form d'un popup puis de submitter le form ... :-(
je ne vois pas trop la différence entre ce que tu m'as filé et ce que l'autre gars
Je récupère l'élément (un input ?) plus tout les autres du même div.
m'a filé mise à part la boucle while que je trouve plus élégante que la loop for.
Je n'ai pas de loop for non plus (à moins qu'on ne parle pas de la même chose ?) La différence essentielle est que je clone inutilement l'élément cliqué.
d'ailleurs, à ce sujet, chez moi j'ai du faire une boucle for en partant du dernier élément pour aller vers le premier sinon ça déconne...
C'est un chez toi que je n'ai pas vu, me semble-ce.
-- ASM
pere.noel
ASM wrote:
(en plus laborieux puisqu'il faut que l'élément lui-même soit cliquable)
comment ça ?
exemple c.l.javascript intégrait le onclick dans les éléments. (ceux sans onclick ne sont donc pas appelables)
perso j'ai pas de "onclick" sur aucun élément du body...
je pense qu'il y a un quiproquo là...
Attention, avec trimBody ! Si je clique un LI rien ne s'affiche exception erreur : groso-modo -> où est mon UL ? et ce sera sans-doute la même chose pour un TD ( ?)
ouais ça j'ai vu et même si on clique sur une zone où il n'y a que le body, on a + rien...
pas grave, il suffit de rapeller la page.
Heu déjà que ce n'est pas top de se voir avec le texte brut seul et qu'il faille recharger la page ... s'il faut en plus ne voir que du vide ... qui va comprendre ?
ça oui, je dois faire un effort pour remonter dans la hiérarchie, càd trouver un parent (d'un parent etc...) qui convienne div ou table.
notes que dans mon exemple si l'on ne voit QUE le texte brut c'est tout simplement parce que je n'ai pas mis de css pour les <h1> et <p>...
car je souhaite que mon système fonctionne pour n'importe quelle page téléchargée du net...
en + du script ruby ce que me reste à faire c'est à sauvegarder la page ainsi trimée, vu que la source reste identique à l'original...
Là ce n'est pas gagné ... tout ce que j'arrive à faire est : donner le targ_up.nodeValue en valeur d'un input d'un form d'un popup puis de submitter le form ... :-(
ben j'ai lu un article qui fait un write dans un document, peut-être peut-on avoir cette tactique (en js) :
une fois la bonne zone choisie reprendre tout le document (avec juste ce qu'il faut dans le body et le filer à une autre page "vierge" qui servirait en qq sorte de template, la page d'ailleurs pourrait être un document complétement vide...
ce que je ne vois pas c'est comment piquer tout le contenu d'une page et le filer à une autre, donc comment transmettre tout le contenu d'un document par un lien <a href="..."
peut-être en XMLHttpRequest ???
en ruby ça doit pouvoir se faire facilement en tout cas, je peux ajouter au javascript d'une page les focntionnalités Ruby (non testé par moi-même)
est-ce que tu as Ruby sur ta bécanne, si c'est un Mac OS X c'est built-in.
je ne vois pas trop la différence entre ce que tu m'as filé et ce que l'autre gars
Je récupère l'élément (un input ?) plus tout les autres du même div.
m'a filé mise à part la boucle while que je trouve plus élégante que la loop for.
Je n'ai pas de loop for non plus
ben si ? il en faut bien une pour vider tout le contenu de body au préalable ???
(à moins qu'on ne parle pas de la même chose ?) La différence essentielle est que je clone inutilement l'élément cliqué.
oui, il est gardé en mémoire ...
d'ailleurs, à ce sujet, chez moi j'ai du faire une boucle for en partant du dernier élément pour aller vers le premier sinon ça déconne...
C'est un chez toi que je n'ai pas vu, me semble-ce.
(en plus laborieux puisqu'il faut que l'élément lui-même soit cliquable)
comment ça ?
exemple c.l.javascript intégrait le onclick dans les éléments.
(ceux sans onclick ne sont donc pas appelables)
perso j'ai pas de "onclick" sur aucun élément du body...
je pense qu'il y a un quiproquo là...
Attention, avec trimBody !
Si je clique un LI rien ne s'affiche
exception erreur : groso-modo -> où est mon UL ?
et ce sera sans-doute la même chose pour un TD ( ?)
ouais ça j'ai vu et même si on clique sur une zone où il n'y a que le
body, on a + rien...
pas grave, il suffit de rapeller la page.
Heu déjà que ce n'est pas top de se voir avec le texte brut seul
et qu'il faille recharger la page ...
s'il faut en plus ne voir que du vide ... qui va comprendre ?
ça oui, je dois faire un effort pour remonter dans la hiérarchie, càd
trouver un parent (d'un parent etc...) qui convienne div ou table.
notes que dans mon exemple si l'on ne voit QUE le texte brut c'est tout
simplement parce que je n'ai pas mis de css pour les <h1> et <p>...
car je souhaite que mon système fonctionne pour n'importe quelle page
téléchargée du net...
en + du script ruby ce que me reste à faire c'est à sauvegarder la page
ainsi trimée, vu que la source reste identique à l'original...
Là ce n'est pas gagné ...
tout ce que j'arrive à faire est :
donner le targ_up.nodeValue en valeur d'un input d'un form d'un popup
puis de submitter le form ... :-(
ben j'ai lu un article qui fait un write dans un document, peut-être
peut-on avoir cette tactique (en js) :
une fois la bonne zone choisie reprendre tout le document (avec juste
ce qu'il faut dans le body et le filer à une autre page "vierge" qui
servirait en qq sorte de template, la page d'ailleurs pourrait être un
document complétement vide...
ce que je ne vois pas c'est comment piquer tout le contenu d'une page et
le filer à une autre, donc comment transmettre tout le contenu d'un
document par un lien <a href="..."
peut-être en XMLHttpRequest ???
en ruby ça doit pouvoir se faire facilement en tout cas, je peux ajouter
au javascript d'une page les focntionnalités Ruby (non testé par
moi-même)
est-ce que tu as Ruby sur ta bécanne, si c'est un Mac OS X c'est
built-in.
je ne vois pas trop la différence entre ce que tu m'as filé et ce que
l'autre gars
Je récupère l'élément (un input ?) plus tout les autres du même div.
m'a filé mise à part la boucle while que je trouve plus
élégante que la loop for.
Je n'ai pas de loop for non plus
ben si ? il en faut bien une pour vider tout le contenu de body au
préalable ???
(à moins qu'on ne parle pas de la même chose ?)
La différence essentielle est que je clone inutilement l'élément cliqué.
oui, il est gardé en mémoire ...
d'ailleurs, à ce sujet, chez moi j'ai du faire une boucle for en partant
du dernier élément pour aller vers le premier sinon ça déconne...
C'est un chez toi que je n'ai pas vu, me semble-ce.
(en plus laborieux puisqu'il faut que l'élément lui-même soit cliquable)
comment ça ?
exemple c.l.javascript intégrait le onclick dans les éléments. (ceux sans onclick ne sont donc pas appelables)
perso j'ai pas de "onclick" sur aucun élément du body...
je pense qu'il y a un quiproquo là...
Attention, avec trimBody ! Si je clique un LI rien ne s'affiche exception erreur : groso-modo -> où est mon UL ? et ce sera sans-doute la même chose pour un TD ( ?)
ouais ça j'ai vu et même si on clique sur une zone où il n'y a que le body, on a + rien...
pas grave, il suffit de rapeller la page.
Heu déjà que ce n'est pas top de se voir avec le texte brut seul et qu'il faille recharger la page ... s'il faut en plus ne voir que du vide ... qui va comprendre ?
ça oui, je dois faire un effort pour remonter dans la hiérarchie, càd trouver un parent (d'un parent etc...) qui convienne div ou table.
notes que dans mon exemple si l'on ne voit QUE le texte brut c'est tout simplement parce que je n'ai pas mis de css pour les <h1> et <p>...
car je souhaite que mon système fonctionne pour n'importe quelle page téléchargée du net...
en + du script ruby ce que me reste à faire c'est à sauvegarder la page ainsi trimée, vu que la source reste identique à l'original...
Là ce n'est pas gagné ... tout ce que j'arrive à faire est : donner le targ_up.nodeValue en valeur d'un input d'un form d'un popup puis de submitter le form ... :-(
ben j'ai lu un article qui fait un write dans un document, peut-être peut-on avoir cette tactique (en js) :
une fois la bonne zone choisie reprendre tout le document (avec juste ce qu'il faut dans le body et le filer à une autre page "vierge" qui servirait en qq sorte de template, la page d'ailleurs pourrait être un document complétement vide...
ce que je ne vois pas c'est comment piquer tout le contenu d'une page et le filer à une autre, donc comment transmettre tout le contenu d'un document par un lien <a href="..."
peut-être en XMLHttpRequest ???
en ruby ça doit pouvoir se faire facilement en tout cas, je peux ajouter au javascript d'une page les focntionnalités Ruby (non testé par moi-même)
est-ce que tu as Ruby sur ta bécanne, si c'est un Mac OS X c'est built-in.
je ne vois pas trop la différence entre ce que tu m'as filé et ce que l'autre gars
Je récupère l'élément (un input ?) plus tout les autres du même div.
m'a filé mise à part la boucle while que je trouve plus élégante que la loop for.
Je n'ai pas de loop for non plus
ben si ? il en faut bien une pour vider tout le contenu de body au préalable ???
(à moins qu'on ne parle pas de la même chose ?) La différence essentielle est que je clone inutilement l'élément cliqué.
oui, il est gardé en mémoire ...
d'ailleurs, à ce sujet, chez moi j'ai du faire une boucle for en partant du dernier élément pour aller vers le premier sinon ça déconne...
C'est un chez toi que je n'ai pas vu, me semble-ce.