En raison de la prestation différente selon les navigateurs, Microsoft Internet Explorer certainement voir dans cet esprit, nous devons toujours avoir recours à des astuces pour appliquer des effets spéciaux qui devraient maintenant être une norme. Le prix-discuté des bords arrondis sont un exemple classique de «catastrophe» produite par l'incapacité totale de faire quelques normes sérieuses sur les pages rendent HTML / CSS. , etc… Il existe de nombreuses solutions qui permettent au réseau pour obtenir des "effets" (effets qui présentent comme étant exemptées à partir des coins arrondis HTML, des effets d'ombre, des reflets, etc ...) avec des taches sur les feuilles de styles, des astuces spéciales en utilisant div greffé, les bibliothèques Javascript, utilisation de canvas , etc ...
Sur un purement pédagogique, je vais illustrer autre technique (cross-browser) à appliquer aux bords arrondis des images:
Articles taggés avec 'Internet'
jQuery: ronds bords sur les images se chevauchent
Création d'applications de bureau avec Google Chrome et Firefox?
Google Chrome vous permet de créer des applications de bureau à partir d'une page Web? En fait, comme indiqué dans l'élément de menu est uniquement autorisé à créer un raccourci vers un lien qui - à son tour - ouvrir une fenêtre sans barre d'adresse et sans tous les "fioritures" du navigateur. Cela ne signifie pas que nous avons créé une application de bureau, nous venons de créer un lien vers le même Google Chrome en mode - pour ainsi dire-chrome-moins.
Simle fonctionnalité, mais plus ambitieux, avait déjà été proposé par la Fondation Mozilla en 2007, par l'intermédiaire du projet Prism . C'est certainement le plus polyvalent et bien articulée, même accompagné par un utile prolongement qui vous permet de créer de bureau menu des applications de FireFox, de la même manière que Google Chrome .
Toutefois, les deux solutions sont loin d'être la technologie Adobe AIR . Avant que quelqu'un ne confond il convient de noter les différences substantielles entre un raccourci sur le bureau qui ouvre une fenêtre sans les menus, et une application de bureau et de son vrais.
Adobe AIR , en effet, contrairement aux solutions offertes par Google Chrome et Prism vous permet de:
- Pratiquement compléter l'accès au système d'exécuter l'application avec la capacité de lire et écrire des fichiers. Possibilité d'étendre ses fonctionnalités par l'intermédiaire dll (dynamic link library), des extensions et des produits tiers comme SHU joueur (voir Déployer Adobe AIR: Badge AIR à partir d'un lecteur USD )
- Gère l'application que les autres applications du système: Installation et désinstallation
WordPress: écrire une déconnexion personnelle
Basé sur le poste de WordPress: étape par étape comment créer leur propre login , exécutez la procédure de connexion pourrait être utile d'indiquer dans notre blog Lien de débrancher ou de se déconnecter. Nous n'allons pas utiliser à nouveau les procédures standard de WordPress, mais comme nous le verrons se déconnecter à un niveau bas. Nous devons d'abord déterminer si un utilisateur est connecté ou non. Ceci est possible en interrogeant simplement le la variable $user_ID WordPress. Par exemple:
1 2 3 | $user_ID != '' ) { // oppure if( is_user_logged_in() ) { if ($ user_id! ='') {/ / ou si (is_user_logged_in ()) { / / Un utilisateur est "connecté" ... } |
Une fois que nous savons qui est un utilisateur "connecté" dans le système, nous pouvons insérer un simple lien vers notre page de déconnexion. Nous avons donc créer une page, par exemple, logout.php , seguende et en entrant le code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | / ** * Effectue la déconnexion * * @ Auteur Giovambattista Fazioli * @ @ Email g.fazioli undolog.com * @ Web http://www.undolog.com * / / / Invoke bootstrap WordPress ( 'wp-config.php' ) ; @ Require_once ('wp-config.php'); ( 'wp-includes/pluggable.php' ) ; @ Require_once ('wp-includes/pluggable.php'); / / Wp déconnexion wp_logout (); / / Chargement de n'importe quelle autre page "Location: /" ) ; tête ("Location: /"); |
Et puis "lien" à notre page pour fournir une déconnexion des procédures:
1 2 3 | $user_ID != '' ) { if ($ user_id! ='') { ; echo '<a href="logout.php"> Exécuter déconnexion </ a>'; } |
Très court astuce: des valeurs non définies en Javascript
Y at-il un raccourci pour assigner "à la volée" une valeur à une variable si l'on n'est pas définie (undefined), en utilisant l'opérateur logique OR (| |) - tube double:
1 2 3 4 5 | / / Foo n'est pas défini bar var; pluto || '5' ; var foo = bar | | '5 '; pippo ) ; alert (toto); / / Résultat: 5 |
CSS3: quelqu'un at-il vu le navigateur Internet Explorer?
Je fais juste pas ...
1 2 3 4 5 6 7 8 9 | {P / * Coins arrondis * / ; /* CSS 3 */ border-radius: 9px; / * CSS 3 * / ; /* Opera */ -O-border-radius: 9px; / * Opera * / ; /* iCab */ -ICab-border-radius: 9px; / * iCab * / ; /* Konqueror */ -Khtml-border-radius: 9px; / * Konqueror * / ; /* Firefox */ -Moz-border-radius: 9px; / * Firefox * / ; /* Safari */ -Webkit-border-radius: 9px; / * Safari * / } |
Un compte à rebours de classe en Javascript
Dans le poste avec la 3D à rebours FIVe3D (voir aussi comment j'ai fait: écrire un compte à rebours en Flash ), a été donnée une classe pour créer un objet en Actionscript CountDown, voici une version similaire en Javascript:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | / ** * Classe à rebours * * @ Auteur Giovambattista Fazioli * @ @ Email g.fazioli undolog.com * @ Web http://www.undolog.com * * @ Param jj (string) «jour mois, année ' * * / dd ) { fonction compte à rebours (jj) { / / Init objectif de temps new Date ( dd ) ; var target = new Date (jj); = target. getTime ( ) ; .. ce targetTime = cible getTime (); / ** * Actualiser le compte à rebours * / = function ( ) { cette fonction. refresh = () { new Date ( ) ; var today = new Date (); today. getTime ( ) ; var today = currentTime getTime ().; / / Temps restant ( this . targetTime - currentTime ) ; ce _leftMilliseconds = (this. targetTime - currentTime).; Math. floor ( this ._leftMilliseconds / 1000 ) ; cet étage _leftSeconds = Math (_leftMilliseconds this. / 1000)..; Math. floor ( this ._leftSeconds / 60 ) ; cet étage _leftMinutes Math = (_leftSeconds this. / 60)..; Math. floor ( this ._leftMinutes / 60 ) ; .. ce _leftHours = Math étage (this. _leftMinutes / 60); / / Pas de module = Math. floor ( this ._leftHours / 24 ) ; .. ce leftDays = Math étage (_leftHours this. / 24); / / Pour l'impression = this ._leftMilliseconds % 1000 ; ce leftMilliseconds = Ceci _leftMilliseconds%. 1000.; = this ._leftSeconds % 60 ; ce leftSeconds = Ceci _leftSeconds 60%..; = this ._leftMinutes % 60 ; ce leftMinutes = ce _leftMinutes 60%..; = this ._leftHours % 24 ; .. ce leftHours = ce _leftHours 24%; } ( ) ; ce refresh ().; } |
Exemple
1 2 3 | new countDown ( '1 1, 2009' ) ; var cd = new compte à rebours (1 '1, 2009 '); / / Afficher le nombre de jours, heures, minutes, secondes et millisecondes à 1 Janvier, 2009 |
Très court astuce: éviter les message d'erreur en PHP
Si nous ne voulons pas d'une fonction PHP pour émettre des avertissements ou des erreurs, il suffit d'entrer le premier appel à la nature spirale - ou à - (@):
1 2 3 4 | / / Au lieu d'utiliser la forme canonique miaFunc ( ) ; Res = $ miaFunc (); / / Vous pouvez utiliser miaFunc ( ) ; $ Res = @ miaFunc (); |
Très court astuce: voiture echo
En PHP, vous pouvez utiliser une forme abrégée, ou contractés, d'afficher des variables ou des retours de fonctions:
1 2 3 4 5 6 7 8 | / / Au lieu de $miavar ?> <? Php echo $ miavar?> / / Vous pouvez écrire ?> <? = $ Miavar?> / / Au lieu de miaFunc ( ) ?> <? Php echo miaFunc ()?> / / Vous pouvez écrire ?> <? MiaFunc = ()?> |
Skypemote version d'Adobe AIR
Il s'agit de la première version, 0,8 (aligné avec la version en ligne ), rédacteur en chef des émotions Skype - Skypemote - version de Adobe AIR . Pour l'instant, les caractéristiques sont tous la même version en ligne , avec l'avantage d'être une application de bureau, puis installez Windows, Mac et Linux.
Avant l'installation, n'oubliez pas de mettre à jour et / ou installer pour la première fois, l'exécution de Adobe AIR , si vous n'avez pas déjà fait.
Télécharger
Actionscript 3.0 pour les débutants: leçon n ° 3
Nous continuons l'analyse de l'exemple de la Toe jeu Tic Tac, présenté en Actionscript 3.0 pour les débutants: leçon n ° 2 . Nous étions arrivés à la fonction qui crée la grille de jeu:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | / ** * Grille de création graphique (3x3) à l'écran * Void * @ Param * @ Return void * @ Privé * / createGrid ( ) : void { createGrid fonction privée (): void { / / Pointeur temporaire à un MovieClip / / Remarque: ici, vous pouvez également utiliser un Sprite / / Mais dans ce cas j'ai besoin d'étendre l'objet / / Ajout d'une certaine proproetà personnelle. Le Sprite / / Est une classe fermée et donc pas d'exécution extensible, tout en / / La classe MovieClip est dynamique et permet donc / / Possible l'ajout de la propriété runtime MovieClip , i : uint = 0 ; var tm: MovieClip , i: uint = 0; / / Ajouter le MovieClip dans un modèle 3x3 ; i < 9 ; i ++ ) { for (; i <9; i + +) { ( ) ; tm = new MovieClip (); tm ) ; addChild (tm); = OFFSETX + ( ( i % 3 ) * ( PLAYER_WIDTH + PLAYER_OFFSET ) ) tm. offsetX = x + ((i% 3) * (PLAYER_WIDTH PLAYER_OFFSET +)) = OFFSETY + Math . floor ( i / 3 ) * ( PLAYER_HEIGHT + PLAYER_OFFSET ) tm. OffsetY + y = Math . étage (i / 3) * (+ PLAYER_HEIGHT PLAYER_OFFSET) tm _index = i.; 0 ) ; drawPlayer (tm, 0); } / / Dessine les lignes 2 et 2 horizontaux veriticali this . graphics ) { avec (this. graphiques) { 6 , 0x666666 ) ; lineStyle (6, 0x666666); OFFSETX , OFFSETY + ( PLAYER_HEIGHT + 15 ) ) ; moveTo (offsetX, OffsetY + (PLAYER_HEIGHT + 15)); OFFSETX + ( ( PLAYER_WIDTH + 20 ) * 3 ) , OFFSETY + ( PLAYER_HEIGHT + 15 ) ) ; lineTo (offsetX + ((PLAYER_WIDTH + 20) * 3), OffsetY + (PLAYER_HEIGHT + 15)); OFFSETX , OFFSETY + ( PLAYER_HEIGHT + 20 ) * 2 ) ; moveTo (offsetX, OffsetY + (PLAYER_HEIGHT + 20) * 2); OFFSETX + ( ( PLAYER_WIDTH + 20 ) * 3 ) , OFFSETY + ( PLAYER_HEIGHT + 20 ) * 2 ) ; lineTo (offsetX + ((PLAYER_WIDTH + 20) * 3), OffsetY + (PLAYER_HEIGHT + 20) * 2); OFFSETX + ( PLAYER_WIDTH + 15 ) , OFFSETY ) ; moveTo (offsetX + (PLAYER_WIDTH + 15), OffsetY); OFFSETX + ( PLAYER_WIDTH + 15 ) , OFFSETY + ( ( PLAYER_HEIGHT + 20 ) * 3 ) ) ; lineTo (offsetX + (PLAYER_WIDTH + 15), OffsetY + ((PLAYER_HEIGHT + 20) * 3)); OFFSETX + ( PLAYER_WIDTH + 20 ) * 2 , OFFSETY ) ; moveTo (offsetX + (PLAYER_WIDTH + 20) * 2 OffsetY); OFFSETX + ( PLAYER_WIDTH + 20 ) * 2 , OFFSETY + ( ( PLAYER_HEIGHT + 20 ) * 3 ) ) ; lineTo (offsetX + (PLAYER_WIDTH + 20) 2 * OffsetY + ((+ PLAYER_HEIGHT 20) * 3)); } } |







Derniers Commentaires
Gabriel : Bonjour, article intéressant. J'aurais besoin de quelque chose de similaire, mais avec quelques modifications. Dans un ...
sebastian : la part de la Grande - merci!
Sujet : très utile en effet! Je l'ai essayé et il est juste ce dont j'avais besoin. Maintenant, je me demande comment puis-je obtenir ...
vik : Avec l'aide stratégique!
Pepper : Salut, je ne sais pas si vous êtes l'un des créateurs du plugin WP Bannerize. J'ai repéré un ...