11402 sujets

JavaScript, DOM et API Web HTML5

Hello tout le monde,
J'aimerais savoir s'il existe un quelconque moyen pour modifier la couleur de fond d'un popup?
J'utilise la fonction open_window suivante


function open_window(votre_page)
{
	var hauteur_popup=620;
	var H = (screen.height - hauteur_popup) / 2;
	var largeur_popup=460;
	var L = (screen.width - largeur_popup) / 2;
	pop_up = window.open(votre_page,"Popup","status=yes,scrollbars=yes,resizable=no,height="+hauteur_popup+",width="+largeur_popup+",top="+H+",left="+L);
}

Merci d'avance
Modifié par pascal¨¨¨¨¨¨ (12 Apr 2006 - 20:57)
QuentinC a écrit :
suivant les cas c'est pas forcément toujours facile.


comment ça! quoi de plus simple que de définir une css dans une page et d'appeler cette page via window.open()?

toute autre solution est moins efficace ou mauvaise;
Oui d'accord mais ça dépend de ce que doit contenir la page ... si c'est des informations obtenues dynamiquement par js, ça va être dur d'avoir une page HTML existatne.
pas plus!

n'importe quelle manipulation dhtml s'inscrit sans problème dans un squelette dom;

le principal avantage est d'obtenir un affichage immédiat et compatible tous navigateurs, sans avoir à tester si tel élément de la popup est chargé; sans compter la mise en forme gérée de l'intérieur, qui évite des dizaines de lignes de code, juste pour spécifier des styles;

et puis, reconnaissons-le une bonne fois, la méthode write() est née avec javascript, certes, mais elle a largement fait son temps: on ne peut plus en parler sérieusement sur un forum consacré aux standards du web Smiley cligne
C'est vrai qu'après tout, tu as raison.
Mais le DOM peut provoquer d'autres problèmes : je ne suis pas sûr que tous les navigateurs apprécient d'ajouter/modifier/enlever des éléments alors que le document n'est pas totalement chargé. Par contre, c'est la solution de la simplicité.
QuentinC a écrit :

Mais le DOM peut provoquer d'autres problèmes : je ne suis pas sûr que tous les navigateurs apprécient d'ajouter/modifier/enlever des éléments alors que le document n'est pas totalement chargé.


d'où mon précédent post...: depuis la popup, tu intègres par exemple un nouveau noeud dans le document, en vérifiant simplement l'existence d'un opener
explication:

page1.htm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>...</title>


<script type="text/javascript">

var win2, n;

function charge(t){

win2=window.open("test2.htm","page2","width=400px,height=400px");

n=t;

}

</script>

</head>
<body>

<p>
<input type="text" id="t" onchange="charge(this.value)" />
</p>


</body>
</html>


page2.htm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>...</title>


<style type="text/css">

#zone {
font-weight:bold;
color:#ff0000;
text-align:center;
}

</style>


<script type="text/javascript">

window.onload=function(){
if(opener){
document.getElementById("zone").appendChild(document.createTextNode(opener.n))
};
}

</script>

</head>
<body>

<h1 id="zone"></h1>

</body>
</html>
Ah d'accord, je voyais pas où tu voulais en venir, mais là, alors... vraiment ingénieux comme idée.