JavaSript : methode window.close()

Vlad -  
 SunnyWeb -
Salut à tous,
Pour mon site j'ouvre certaine fenetre. Pour chacune je rajoute le code suivant : <A href=\"javascript:window.close('_blank');\">Cliquez ici pour fermer la fenêtre</A>
pour fermer ma fenetre.
Mais a chaque fois j'ai une demande de confirmation pour savoir si je suis sur de vouloir fermer.
Est il possible de faire sauter cette demande de cnfirmation.
Merci
Vlad

6 réponses

SunnyWeb
 
Voici un code que j'avais écris a l'université... ne me demandé pas comment je l'ai fait... je devais être trop saoul pour m'en rappeler. La bonne nouvelle c'est que ça marche.

-------------------------------

<csactions>
<csaction name="409AA419" class="Close Window" type="onevent">
</csactions>
<csscriptdict>
<script><!--
function CSClickReturn () {
var bAgent = window.navigator.userAgent;
var bAppName = window.navigator.appName;
if ((bAppName.indexOf("Explorer") >= 0) && (bAgent.indexOf("Mozilla/3") >= 0) && (bAgent.indexOf("Mac") >= 0))
return true; // dont follow link
else return false; // dont follow link
}

CSStopExecution = false;
function CSAction(array) {
return CSAction2(CSAct, array);
}
function CSAction2(fct, array) {
var result;
for (var i=0;i<array.length;i++) {
if(CSStopExecution) return false;
var actArray = fct[array[i]];
if(actArray == null) return false;
var tempArray = new Array;
for(var j=1;j<actArray.length;j++) {
if((actArray[j] != null) && (typeof(actArray[j]) == "object") && (actArray[j].length == 2)) {
if(actArray[j][0] == "VAR") {
tempArray[j] = CSStateArray[actArray[j][1]];
}
else {
if(actArray[j][0] == "ACT") {
tempArray[j] = CSAction(new Array(new String(actArray[j][1])));
}
else
tempArray[j] = actArray[j];
}
}
else
tempArray[j] = actArray[j];
}
result = actArray[0](tempArray);
}
return result;
}
CSAct = new Object;
function CSCloseWindow() {
if (self.parent.frames.length != 0) {
self.parent.close()
} else {
window.close()
}
}

// --></script>
</csscriptdict>
<csactiondict>
<script><!--
CSAct'B65B835F35' = new Array(CSCloseWindow);
CSAct'409AA419' = new Array(CSCloseWindow);

// --></script>
</csactiondict>

<a href="#" onclick="CSAction(new Array(/*CMP*/'409AA419'));return CSClickReturn();" csclick="409AA419">FERMER CETTE PAGE</a>
5
herve7 Messages postés 23 Statut Membre 3
 
salut

la demande de confirmation vient du fait que l'on ne peut pas fermer une fenetre que l'on n'a pas ouverte (protections realisees par IE et NS). Pour que tu puisses fermer une fenetre de cette facon, il faut que celle-ci soit une fenetre fille d'une autre de tes fenetres.

J'espere que ca resoudra ton pb
A+
3
ronaldos
 
Bonne réponse à kaZone et suposons une autre suposission que la fennêtre se ferme par le UseR par accident et qu'il ne veut pas la fermer!
Conseil garde ce script et met toi à la place de des visiteurs avant d'agir;)
3
Criocaps
 
Bonjour,

Pour ouvrir ces fenêtres, utilise-tu javascript ?
Si tu ouvre la fenêtre avec window.open(...) tu devrais pouvoir la fermer avec window.close()

Ca marche chez moi sous IE7 et Firefox.

Par contre pour fermer tu lasse href="#" et ajoute un onclick="window.close()" sans le <_blank>

Kazone et Ronaldos > L'utilisateur demande la fermeture de la page puisqu'il clique volontairement sur "Cliquez ici pour fermer la fenêtre".

En espérant avoir pu t'aider.
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kaZone
 
non, tu peux pas.
car c'est la securité de javascript.
supposons que tu écris un script qui ferme toutes fenêtre ouvertes...sans demander l'avis de UseR
2
F6BDM
 
Je voudrai touver javascripte pour nouveau logicile satscape
merci de bien vouloir m'aider.
J P
-6