PS : J'ai l'impression que c'est une question pour YD ça ;-)
Dans un contexte très particulier (développement d'un mini-navigateur
spécifique en XUL pour borne internet), j'ai besoin d'interdire tout
popup en redirigeant l'ouverture de l'url dans la fenêtre principale (la
seule).
[...]
J'ai donc pensé que la "surcharge" de la méthode window.open pourrait
être une solution, mais j'avoue être loin d'un expert de l'objet et
encore moins de ce genre de procédés.
PS : J'ai l'impression que c'est une question pour YD ça ;-)
Dans un contexte très particulier (développement d'un mini-navigateur
spécifique en XUL pour borne internet), j'ai besoin d'interdire tout
popup en redirigeant l'ouverture de l'url dans la fenêtre principale (la
seule).
[...]
J'ai donc pensé que la "surcharge" de la méthode window.open pourrait
être une solution, mais j'avoue être loin d'un expert de l'objet et
encore moins de ce genre de procédés.
PS : J'ai l'impression que c'est une question pour YD ça ;-)
Dans un contexte très particulier (développement d'un mini-navigateur
spécifique en XUL pour borne internet), j'ai besoin d'interdire tout
popup en redirigeant l'ouverture de l'url dans la fenêtre principale (la
seule).
[...]
J'ai donc pensé que la "surcharge" de la méthode window.open pourrait
être une solution, mais j'avoue être loin d'un expert de l'objet et
encore moins de ce genre de procédés.
PS : J'ai l'impression que c'est une question pour YD ça ;-)
Bon puisque tu me sollicites directement...
J'ai donc pensé que la "surcharge" de la méthode window.open pourrait
être une solution, mais j'avoue être loin d'un expert de l'objet et
encore moins de ce genre de procédés.
C'est la bonne voie, je pense.
Un exemple simplissime :
function truc(){
if(arguments.length>0)
window.location=arguments[0];
}
window.open=truc;
Un mot d'explication : on affecte la fonction truc à la méthode open de
window. La fonction truc vérifie qu'elle est appelée avec au moins un
argument. Le premier argument (indice 0 donc) de window.open est l'URL à
atteindre, il est passé à truc puisque désormais c'est truc qui est appelé
quand on appelle open. On charge cette URL dans la page courante. Si open
est appelé sans argument, on ne fait rien !
Par le bouton précédent du navigateur on peut revenir sur la page contenant
le lien.
(Testé dans FF1.0 ce qui t'intéresse le plus je suppose, mais aussi IE6 et
Op7.54)
En espérant que ça t'avance.
PS : J'ai l'impression que c'est une question pour YD ça ;-)
Bon puisque tu me sollicites directement...
J'ai donc pensé que la "surcharge" de la méthode window.open pourrait
être une solution, mais j'avoue être loin d'un expert de l'objet et
encore moins de ce genre de procédés.
C'est la bonne voie, je pense.
Un exemple simplissime :
function truc(){
if(arguments.length>0)
window.location=arguments[0];
}
window.open=truc;
Un mot d'explication : on affecte la fonction truc à la méthode open de
window. La fonction truc vérifie qu'elle est appelée avec au moins un
argument. Le premier argument (indice 0 donc) de window.open est l'URL à
atteindre, il est passé à truc puisque désormais c'est truc qui est appelé
quand on appelle open. On charge cette URL dans la page courante. Si open
est appelé sans argument, on ne fait rien !
Par le bouton précédent du navigateur on peut revenir sur la page contenant
le lien.
(Testé dans FF1.0 ce qui t'intéresse le plus je suppose, mais aussi IE6 et
Op7.54)
En espérant que ça t'avance.
PS : J'ai l'impression que c'est une question pour YD ça ;-)
Bon puisque tu me sollicites directement...
J'ai donc pensé que la "surcharge" de la méthode window.open pourrait
être une solution, mais j'avoue être loin d'un expert de l'objet et
encore moins de ce genre de procédés.
C'est la bonne voie, je pense.
Un exemple simplissime :
function truc(){
if(arguments.length>0)
window.location=arguments[0];
}
window.open=truc;
Un mot d'explication : on affecte la fonction truc à la méthode open de
window. La fonction truc vérifie qu'elle est appelée avec au moins un
argument. Le premier argument (indice 0 donc) de window.open est l'URL à
atteindre, il est passé à truc puisque désormais c'est truc qui est appelé
quand on appelle open. On charge cette URL dans la page courante. Si open
est appelé sans argument, on ne fait rien !
Par le bouton précédent du navigateur on peut revenir sur la page contenant
le lien.
(Testé dans FF1.0 ce qui t'intéresse le plus je suppose, mais aussi IE6 et
Op7.54)
En espérant que ça t'avance.
window.open=truc;
Ben oui, mais non, marche pas.
Or, comme je ne doute nullement de ta réponse, c'est donc que mon
contexte est particulier.
window.open=truc;
Ben oui, mais non, marche pas.
Or, comme je ne doute nullement de ta réponse, c'est donc que mon
contexte est particulier.
window.open=truc;
Ben oui, mais non, marche pas.
Or, comme je ne doute nullement de ta réponse, c'est donc que mon
contexte est particulier.
Enfin, je vais à priori me contenter d'une fonction
document.getElementById('browser').contentWindow.open = function() {return
false;};
Enfin, je vais à priori me contenter d'une fonction
document.getElementById('browser').contentWindow.open = function() {return
false;};
Enfin, je vais à priori me contenter d'une fonction
document.getElementById('browser').contentWindow.open = function() {return
false;};
Le Sun, 06 Feb 2005 23:48:39 -0400, Christophe PEREZ a écrit:Enfin, je vais à priori me contenter d'une fonction
document.getElementById('browser').contentWindow.open = function() {return
false;};
Ben oui mais non ;-)
En effet, le target="_blank" passe encore. Zut !
Une idée ?
Le Sun, 06 Feb 2005 23:48:39 -0400, Christophe PEREZ a écrit:
Enfin, je vais à priori me contenter d'une fonction
document.getElementById('browser').contentWindow.open = function() {return
false;};
Ben oui mais non ;-)
En effet, le target="_blank" passe encore. Zut !
Une idée ?
Le Sun, 06 Feb 2005 23:48:39 -0400, Christophe PEREZ a écrit:Enfin, je vais à priori me contenter d'une fonction
document.getElementById('browser').contentWindow.open = function() {return
false;};
Ben oui mais non ;-)
En effet, le target="_blank" passe encore. Zut !
Une idée ?
des idées on en a , savoir si ça marche ?
function noBlank() {
var D = document.getElementById('browser').document;
var L = D.links;
for(var i=0;i<L.length;i++) L[i].setAttribute('target','_self');
}
reste à savoir quand envoyer le truc ?
des idées on en a , savoir si ça marche ?
function noBlank() {
var D = document.getElementById('browser').document;
var L = D.links;
for(var i=0;i<L.length;i++) L[i].setAttribute('target','_self');
}
reste à savoir quand envoyer le truc ?
des idées on en a , savoir si ça marche ?
function noBlank() {
var D = document.getElementById('browser').document;
var L = D.links;
for(var i=0;i<L.length;i++) L[i].setAttribute('target','_self');
}
reste à savoir quand envoyer le truc ?
Le Tue, 08 Feb 2005 02:33:29 +0100, ASM a écrit:des idées on en a , savoir si ça marche ?
function noBlank() {
var D = document.getElementById('browser').document;
var L = D.links;
for(var i=0;i<L.length;i++)
}
Il y aurait selon vous d'autres trucs du même genre à bloquer ? Je
n'en vois plus
reste à savoir quand envoyer le truc ?
Ça, ce n'est pas le plus gros problème pour moi puisque j'ai un
"observer" sur le chargement de la page,
En tout cas, merci pour l'idée qui, même si elle est similaire à la
mienne, me conforte dans mon choix que j'avais pourtant trouvé assez
lourd-dingue.
:-)))
Ben en fait, je me suis résolu pour l'instant une solution du même ordre
:
for ( var lien = 0, liste = getElementsByAttribute('target','_blank',BROWSER.contentDocument); lien < liste.length; lien++)
liste[lien].removeAttribute('target');
avec :
function getElementsByAttribute(attr,val,container) {
container = container||document;
var liste = container.getElementsByTagName('*');
var arr = [];
for (var item = 0 ; item < liste.length ; item++ )
if ( liste[item].getAttribute(attr) == val )
arr.push( liste[item] );
return arr;
}
Le Tue, 08 Feb 2005 02:33:29 +0100, ASM a écrit:
des idées on en a , savoir si ça marche ?
function noBlank() {
var D = document.getElementById('browser').document;
var L = D.links;
for(var i=0;i<L.length;i++)
}
Il y aurait selon vous d'autres trucs du même genre à bloquer ? Je
n'en vois plus
reste à savoir quand envoyer le truc ?
Ça, ce n'est pas le plus gros problème pour moi puisque j'ai un
"observer" sur le chargement de la page,
En tout cas, merci pour l'idée qui, même si elle est similaire à la
mienne, me conforte dans mon choix que j'avais pourtant trouvé assez
lourd-dingue.
:-)))
Ben en fait, je me suis résolu pour l'instant une solution du même ordre
:
for ( var lien = 0, liste = getElementsByAttribute('target','_blank',BROWSER.contentDocument); lien < liste.length; lien++)
liste[lien].removeAttribute('target');
avec :
function getElementsByAttribute(attr,val,container) {
container = container||document;
var liste = container.getElementsByTagName('*');
var arr = [];
for (var item = 0 ; item < liste.length ; item++ )
if ( liste[item].getAttribute(attr) == val )
arr.push( liste[item] );
return arr;
}
Le Tue, 08 Feb 2005 02:33:29 +0100, ASM a écrit:des idées on en a , savoir si ça marche ?
function noBlank() {
var D = document.getElementById('browser').document;
var L = D.links;
for(var i=0;i<L.length;i++)
}
Il y aurait selon vous d'autres trucs du même genre à bloquer ? Je
n'en vois plus
reste à savoir quand envoyer le truc ?
Ça, ce n'est pas le plus gros problème pour moi puisque j'ai un
"observer" sur le chargement de la page,
En tout cas, merci pour l'idée qui, même si elle est similaire à la
mienne, me conforte dans mon choix que j'avais pourtant trouvé assez
lourd-dingue.
:-)))
Ben en fait, je me suis résolu pour l'instant une solution du même ordre
:
for ( var lien = 0, liste = getElementsByAttribute('target','_blank',BROWSER.contentDocument); lien < liste.length; lien++)
liste[lien].removeAttribute('target');
avec :
function getElementsByAttribute(attr,val,container) {
container = container||document;
var liste = container.getElementsByTagName('*');
var arr = [];
for (var item = 0 ; item < liste.length ; item++ )
if ( liste[item].getAttribute(attr) == val )
arr.push( liste[item] );
return arr;
}
// c'est vrai qu'il n'y a pas que les liens !
tu as oublié :
<HEAD>
<BASE TARGET="_blank">
</HEAD>
Qu'est-ce que c'est un observer ?
pour les idées assez lourdingues je suis le roi ;-))
Je garde le reste pour mes archives :-)
// c'est vrai qu'il n'y a pas que les liens !
tu as oublié :
<HEAD>
<BASE TARGET="_blank">
</HEAD>
Qu'est-ce que c'est un observer ?
pour les idées assez lourdingues je suis le roi ;-))
Je garde le reste pour mes archives :-)
// c'est vrai qu'il n'y a pas que les liens !
tu as oublié :
<HEAD>
<BASE TARGET="_blank">
</HEAD>
Qu'est-ce que c'est un observer ?
pour les idées assez lourdingues je suis le roi ;-))
Je garde le reste pour mes archives :-)
Le Tue, 08 Feb 2005 14:28:01 +0100, ASM a écrit:// c'est vrai qu'il n'y a pas que les liens !
oh oui :-)
Mais vu que je traite tous les target...?!?
Mais je parlais d'autres cas, autres que les target, qui pourraient
m'ouvrir des fenêtres non désirées.
Le Tue, 08 Feb 2005 14:28:01 +0100, ASM a écrit:
// c'est vrai qu'il n'y a pas que les liens !
oh oui :-)
Mais vu que je traite tous les target...?!?
Mais je parlais d'autres cas, autres que les target, qui pourraient
m'ouvrir des fenêtres non désirées.
Le Tue, 08 Feb 2005 14:28:01 +0100, ASM a écrit:// c'est vrai qu'il n'y a pas que les liens !
oh oui :-)
Mais vu que je traite tous les target...?!?
Mais je parlais d'autres cas, autres que les target, qui pourraient
m'ouvrir des fenêtres non désirées.
le dernier que j'ai vu (et j'y avais pas pensé !)
le onclick dans une cellule de tableau
à l'entrée j'avais été prévenu
que le site n'était pas compatible NC4
Z'ont oublié de dire qu'il ne l'était pas sans JS
Mais vu que je traite tous les target...?!?
Tu voulais des idées : oui [ ] non [ ] (cochez la case)
réponse : à moins que je n'ait mal compris ton script ->
non tu ne traites pas les liens||objets sans target
(à mon sens et celui de mon IE, alors régits par le <base target > )
Mais je parlais d'autres cas, autres que les target, qui pourraient
m'ouvrir des fenêtres non désirées.
en en-tête,
base target="_blank" ou "_top" ou "_parent" ou nom d'1 frame
ouvre les bêtes liens sans target dans une nvelle fenêtre.
çà ne manque pas :-)
le dernier que j'ai vu (et j'y avais pas pensé !)
le onclick dans une cellule de tableau
à l'entrée j'avais été prévenu
que le site n'était pas compatible NC4
Z'ont oublié de dire qu'il ne l'était pas sans JS
Mais vu que je traite tous les target...?!?
Tu voulais des idées : oui [ ] non [ ] (cochez la case)
réponse : à moins que je n'ait mal compris ton script ->
non tu ne traites pas les liens||objets sans target
(à mon sens et celui de mon IE, alors régits par le <base target > )
Mais je parlais d'autres cas, autres que les target, qui pourraient
m'ouvrir des fenêtres non désirées.
en en-tête,
base target="_blank" ou "_top" ou "_parent" ou nom d'1 frame
ouvre les bêtes liens sans target dans une nvelle fenêtre.
çà ne manque pas :-)
le dernier que j'ai vu (et j'y avais pas pensé !)
le onclick dans une cellule de tableau
à l'entrée j'avais été prévenu
que le site n'était pas compatible NC4
Z'ont oublié de dire qu'il ne l'était pas sans JS
Mais vu que je traite tous les target...?!?
Tu voulais des idées : oui [ ] non [ ] (cochez la case)
réponse : à moins que je n'ait mal compris ton script ->
non tu ne traites pas les liens||objets sans target
(à mon sens et celui de mon IE, alors régits par le <base target > )
Mais je parlais d'autres cas, autres que les target, qui pourraient
m'ouvrir des fenêtres non désirées.
en en-tête,
base target="_blank" ou "_top" ou "_parent" ou nom d'1 frame
ouvre les bêtes liens sans target dans une nvelle fenêtre.
çà ne manque pas :-)