IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

window.close(); fonctionne en local mais pas sur le serveur


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 3
    Points : 2
    Points
    2
    Par défaut window.close(); fonctionne en local mais pas sur le serveur
    Bonjour,

    Voila tout est dans la question.
    Voici le code de mon bouton sensé fermer la fenêtre.

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <div onclick="return waOnClick('',{'js':function(){javascript:window.close();}})"       ...

    Ca marche nickel en local mais pas sur ma Dedibox.
    Ce qui est étonnant, c'est que j'ai du window.open (boutons "Musique") qui fonctionne... hmmmm

    Le site : http://www.loeil-magique.fr

    Merci pour votre aide !
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 093
    Points : 6 754
    Points
    6 754
    Par défaut
    Bonsoir !

    Le moteur de site WebAcappella que tu utilises fait de la bouillie avec le code aussi bien HTML que JavaScript, et je ne sais pas si tu trouveras quelqu'un d'assez motivé pour regarder en profondeur dedans.

    Il y a une règle primordiale : JavaScript ne peut fermer que des fenêtres qui ont été ouvertes avec JavaScript. Donc si tu peux fermer ta fenêtre en local via JavaScript, cela signifie que WebAcappella fait un quelconque tour de magie (noire) pour ouvrir le site par JavaScript.

    Conclusion : je ne peux pas t'aider. Mais par contre je peux te dire pourquoi tu ne peux normalement pas fermer la fenêtre via JS : c'est une décision qui a été adoptée par les éditeurs de navigateurs, dans un souci d'ergonomie. Si un script pouvait fermer la fenêtre à n'importe quel moment, cela serait déroutant pour l'utilisateur, et même probablement agaçant. Sans parler des possibles problèmes de sécurité que cela entraînerait, par exemple : un attaquant parvient à injecter du code JS sur ta page, qui ferme la fenêtre systématiquement. Ton site devient inaccessible pour tous les utilisateurs ayant JavaScript activé, c'est-à-dire la majorité des gens. C'est une forme de déni de service.
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Merci beaucoup pour ta réponse détaillée et prècise !

    Je comprends donc que c'est l'outil qui n'est pas bon.

    Que me conseilles-tu pour une réalisation plus propre de pages HTML (hormis Dreamweaver qui est au dessus de mes capacités actuelles) ?

  4. #4
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 093
    Points : 6 754
    Points
    6 754
    Par défaut
    Moi j'ai toujours codé mon HTML à la main, donc je ne suis pas le mieux placé pour te parler des différents outils. On m'a dit du bien de Joomla et Drupal.
    Edit: non, sincèrement, je ne peux pas dire une chose pareille.
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  5. #5
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function(){javascript:window.close();}})
    ce code n'est pas conforme avec la syntaxe javascript
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function(){window.close();}})
    de plus je ne sais pas quelle est l'API du service que tu utilise mais si c'est du JSON
    tu ne peux pas transporter de fonction ni de référence en JSON seulement des valeur et des structures

    A+JYT

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    ce code n'est pas conforme avec la syntaxe javascript
    Techniquement en fait, si... c'est pour cela qu'il ne provoque pas d'erreur (ni d'ailleurs lorsqu'on trouve javascript: dans les attributs d'événements.
    Il pose juste un label sur une instruction, ce qui est autorisé par le langage et donc conforme, même si ça ne sert à rien (puisque dans ce contexte, le label n'est pas exploitable) et montre surtout une lacune dans la connaissance du langage.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

Discussions similaires

  1. [MySQL] Requête DELETE fonctionne en local mais pas sur le serveur
    Par abc.xyz dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 06/07/2015, 11h08
  2. sessions fonctionnant en local mais pas sur un serveur
    Par lowvensky dans le forum Langage
    Réponses: 14
    Dernier message: 13/09/2013, 11h16
  3. [RegEx] Regex qui fonctionne en local mais pas sur le serveur
    Par lecroquant dans le forum Langage
    Réponses: 3
    Dernier message: 10/01/2012, 16h01
  4. [Smarty] Fonctionne en local mais pas sur le serveur
    Par student_ dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 28/11/2010, 10h37
  5. Réponses: 4
    Dernier message: 14/03/2006, 10h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo