BullGuard Antivirus Sale - 60% Off with openElement !
Accueil Forum Accueil Forum >

openElement

> Scripts pour votre site
  Nouveaux messages Nouveaux messages Fil RSS  - ancres défectueuses sous Chrome
  FAQ FAQ  Rechercher dans le Forum   Inscription Inscription  Connexion Connexion

ancres défectueuses sous Chrome

 Répondre Répondre
Auteur
Message
brolysan allez vers le bas
Admin Group
Admin Group
Avatar

Depuis le: 14 Août 2009
Pays: France
Status: Inactif
Points: 10144
Options des messages Options des messages   Thanks (0) Thanks(0)   Citer brolysan Citer  RépondreRéponse Lien Direct à ce Post Sujet: ancres défectueuses sous Chrome
    Envoyé : 18 Oct 2013 à 10:06
Bon, 

Pour ceux utilisant des ancres régulièrement sur leur site, il s'avère qu'avec les dernières versions de Chrome (sous Windows ou Mac), si l'on se sert de pages sécurisées dans un projet (du moins selon nos tests), celles ci ne fonctionnent pas. Les ancres fonctionnent parfaitement sous IE, Firefox et Safari.

Pour cela, il va falloir apporter deux modifications au sein des pages ayant des ancres.

La première :

- ajouter un bloc de code source (de type javascript dans le header) avec comme texte :

$(function(){
  // * Anchors * //
    
  // Fix jump-to-anchor problem in certain browsers:
  var anchor_id = window.location.hash;
  if (anchor_id != "") {
    var $anchor = $(anchor_id);         // anchor link defined at the top of this script
    if ($anchor.length) {                 // anchor found,force-scroll to it
      var anchor_position;                 // anchor absolute position
      while ($anchor && $anchor.css('position') != "absolute") { // go to first parent positioned absolutely, and take its coordinates:
        $anchor = $anchor.parent(); if (!$anchor || !$anchor.length) return; // unknown error
      }
      anchor_position = $anchor.offset(); 
      if (anchor_position) { window.scrollTo(anchor_position.left,anchor_position.top); }
    }
  }  
  
  // Edit Dmit OE: j'ai mis en commentaire les lignes suivants, c'est pour remplir automatiquement les ancres vides sur une page sans besoin de modifier a la main, mais il est possible que ce code peut casser certains elements - enlevez "//" pour tester
  // $('a').filter(function(){return ($(this).attr('name') && !$(this).html());}).
  // each(function(){$(this).html('  ');});
 

});


- Puis ajouter &nbsp;&nbsp; dans tous vos scripts-ancres (avant </a>) présent sur la page.

testé et approuvé par Dmit (trouvé par lui serait plus exact en fait Clap )

Si vous n'avez pas de problème particulier, ne faites pas cet ajout bien entendu.


Edité par Dmit OE - 18 Oct 2013 à 10:43
Haut de la page
brolysan allez vers le bas
Admin Group
Admin Group
Avatar

Depuis le: 14 Août 2009
Pays: France
Status: Inactif
Points: 10144
Options des messages Options des messages   Thanks (0) Thanks(0)   Citer brolysan Citer  RépondreRéponse Lien Direct à ce Post Envoyé : 18 Oct 2013 à 10:55
après tests (sur une seule pages qui me rendait certaines images "invisibles", voila le code modifié qui fonctionne sur celle ci :

$(function(){
  // * Anchors * //
    
  // Fix jump-to-anchor problem in certain browsers:
  var anchor_id = window.location.hash;
  if (anchor_id != "") {
    var $anchor = $(anchor_id);         // anchor link defined at the top of this script
    if ($anchor.length) {                 // anchor found,force-scroll to it
      var anchor_position;                 // anchor absolute position
      while ($anchor && $anchor.css('position') != "absolute") { // go to first parent positioned absolutely, and take its coordinates:
        $anchor = $anchor.parent(); if (!$anchor || !$anchor.length) return; // unknown error
      }
      anchor_position = $anchor.offset(); 
      if (anchor_position) { window.scrollTo(anchor_position.left,anchor_position.top); }
    }
  }  
  $('a').filter(function(){return ($(this).attr('name') && !$(this).html());}).
 each(function(){$(this).html('&nbsp;&nbsp;');});
 

});


Merci à ceux rencontrant ce bug de Chrome de nous dire votre feedback


Edité par brolysan - 18 Oct 2013 à 11:18
Haut de la page
Dmit OE allez vers le bas
Admin Group
Admin Group


Depuis le: 31 Mai 2012
Status: Inactif
Points: 13971
Options des messages Options des messages   Thanks (1) Thanks(1)   Citer Dmit OE Citer  RépondreRéponse Lien Direct à ce Post Envoyé : 18 Oct 2013 à 11:01
Le lien Wiki sur la creation d'ancres (en cours de re-edition):

http://wiki.openelement.com/fr/index.php?title=Cr%C3%A9ation_dune_ancre
Haut de la page
 Répondre Répondre
  Partagez ce sujet   

Aller au Forum Permissions du forum allez vers le bas

Forum Software by Web Wiz Forums® version 12.04
Copyright ©2001-2021 Web Wiz Ltd.

Cette page a été affichée en 0.063 secondes.