Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# [résolu]centerscreen inopérant en remote ?

Envoyé par : Christophe Charron

Date : 02/03/2007 10:13

Bonjour,

en faisant un peu de ménage dans mon code, mais surtout en voulant centrer l'ouverture de certaines fenêtres, je m'aperçois que certains arguments de window.open ne sont pas pris en compte en mode remote Seuls "resizable","width","height" le sont.

window.open("mafenetre.php", "", "resizable,width=800,height=600");

Que "chrome","hidechrome","modal" ne soient pas pertinents dans ce mode ne me paraît pas illogique. Par-contre, que "centerscreen" soit ignoré m'embête plus !!

window.open("mafenetre.php", "", "chrome,hidechrome,centerscreen,modal,resizable,width=800,height=600");

Est-ce une limite connue du "hors-chrome" ?

# Re: centerscreen inopérant en remote ?

Envoyé par : rande

Date : 16/03/2007 11:39

Ca fait longtemps que j'abstrais un maximun de chose pour le remote XUL. Pour essayer d'emuler certaines fonctions non disponible en remote...

Par defaut cette fonction centre la fenetre.

Core.openDialog = function(file, name, options) {
	var strOptions = "";
	options['height'] = (options['height'] || 300);
	options['width'] = (options['width'] || 300);
	options['modal'] = (options['modal'] || 'true');
	options['dialog'] = (options['dialog'] || 'true');
	options['dependent'] = (options['dependent'] || 'true');
	
	for(var option in options) {
		if(option == "left" || option == "top") {
			continue;
		}
		strOptions += option + '=' + options[option] + ",";
	}
	var top = screen.height / 2 - options['height'] / 2;
	var left = screen.width / 2 - options['width'] / 2;
	
	__window[name] = window.open(file, name, 'modal,chrome,' + strOptions + ',top='+top+',left='+left);
	if(__window[name] == null) {
		alert("popup blocker !!!");
		return false;
	}
	__window[name].resizeTo(options['width'],options['height']);
	__window[name].focus();
	return __window[name];
}

Usage :

Core.openDialog('/mapage.php','name', {width:450, height:450});

# Re: centerscreen inopérant en remote ?

Envoyé par : Christophe Charron

Date : 16/03/2007 15:47

Merci pour ton aide.

Malheureusement, je ne suis pas encore assez concret avec la programmation objet javascript pour comprendre l'abstraction. Par contre, en voyant top et left dans ton code, je me suis repenché sur les attributs de windows et j'ai vu qu'il y avait screenX et screenY qui devraient être exploitables, en récupérant la taille de l'écran, pour positionner la fenêtre.

Je vais explorer cette voie.

question subsidiaire : d'ou sors-tu l'attribut "dependent" ?

# Re: centerscreen inopérant en remote ?

Envoyé par : Eric

Date : 16/03/2007 16:26

Pour l'attribut dependent :

http://developer.mozilla.org/en/docs/DOM(..)

# Re: centerscreen inopérant en remote ?

Envoyé par : Christophe Charron

Date : 16/03/2007 18:58

Merci et vu

... et ne pas oublier qu'il y a plein de gentils gens qui se coltinent les traductions : http://developer.mozilla.org/fr/docs/DOM:window.open

# Re: centerscreen inopérant en remote ?

Envoyé par : chBok

Date : 16/03/2007 19:22

... et ne pas oublier qu'il y a plein de gentils
gens qui se coltinent les traductions :

Merci d'y penser. D'ailleurs, sachez que toutes les bonnes volontés sont les bienvenues (me contacter)

# Re: centerscreen inopérant en remote ?

Envoyé par : Christophe Charron

Date : 16/03/2007 20:28

En son temps, j'avais proposé mes service à Pascal Chevrel mais pas de retour ...

je te contacte ...

christophe.charron.xul@gmail.com

# Re: centerscreen inopérant en remote ?

Envoyé par : Christophe Charron

Date : 19/03/2007 09:16

centerscreen est tout bêtement remplaçable par :

var vv_hau=300;
var vv_lar=800;
var vl_e_gauche = (screen.height / 2) - (vv_hau / 2);
var vl_e_haut = (screen.width / 2) - (vv_lar / 2);
window.open(vv_fen, "",'"'+ca_c_ouvre+',width='+vv_lar+',height='+vv_hau+',left='+vl_e_gauche +',top='+vl_e_haut+'"');

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.