2015-07-03 11 views
10

Ich versuche, Farbanimationen auf Links zu setzen. Sobald ein Link in Chrome aufgerufen wurde, wird die Farbanimation nicht mehr angewendet. Dies gilt nicht für andere animierte Stile (ich habe Hintergrundfarbe, Schriftgröße und Schriftgröße getestet) oder in anderen Browsern (Firefox, Safari, IE11).Besuchte Links verlieren CSS-Farbanimation in Chrome

Hier ist eine Demo:

http://codepen.io/benjarwar/pen/rVJbeR
http://s.codepen.io/benjarwar/debug/rVJbeR

HTML:

<a href='#' target='_blank' class='color'>Color Animation</a> 

CSS:

a.color, 
a.color:visited { 
    -moz-animation: color-animation 1s ease-in-out infinite; 
    -webkit-animation: color-animation 1s ease-in-out infinite; 
    animation: color-animation 1s ease-in-out infinite; 
} 

@-moz-keyframes color-animation { 
    0% { color: #f00; } 
    50% { color: #fc0; } 
    100% { color: #f00; } 
} 

@-webkit-keyframes color-animation { 
    0% { color: #f00; } 
    50% { color: #fc0; } 
    100% { color: #f00; } 
} 

@keyframes color-animation { 
    0% { color: #f00; } 
    50% { color: #fc0; } 
    100% { color: #f00; } 
} 

Schritte zum Reproduzieren:

  1. Besuchen Sie den Link oben
  2. Hinweis haben die Verbindungen verschiedene Animationen
  3. Klicken Sie auf einen der Links (alle Punkt = „#“ href)
  4. Beachten Sie, dass die Farbanimation Link mehr Animieren ist kein
  5. den Link von Ihrem Browserverlauf entfernen und
  6. Hinweis aktualisieren, dass die Animation kehrt, sobald die Verbindung aus der Geschichte entfernt

Mit Chrome Version 43.0.2357.130 auf Mac OS 10.9.5

+0

Ich habe ein Problem auf Chromium, würde aber eine Arbeit um in der Zwischenzeit lieben. https://code.google.com/p/chromium/issues/detail?id=506898 – benjarwar

+1

Ich habe dieses Problem auch, und ich vermute, dass es mit dem CSS-Exploit zu tun hat, die die Möglichkeit beschränkt, besuchte Links zu ändern außer für sehr grundlegende Eigenschaften (wie Farbe, etc.). Ich bin mir nicht sicher, aber nachdem ich hier andere Fragen gelesen habe, scheint es die einzige Erklärung zu sein, die einen Sinn ergibt. Wenn nicht, kann jemand bitte klären? – Max

+0

Verwenden Sie irgendwelche CSS-Resets wie normalize.css? –

Antwort

1

Ich denke, das bis zu einem gewissen allgemeiner Sicherheit/Datenschutzproblem in der Vergangenheit in Beziehung steht:

die CSS-Eigenschaften Wir begrenzen, die sein kann zum Sticken verwendet besucht Links zu Farbe, Hintergrundfarbe, Rahmen - * - Farbe und Umrissfarbe und die Farbanteile der Füll- und Stricheigenschaften.

https://hacks.mozilla.org/2010/03/privacy-related-changes-coming-to-css-vistited/ https://blog.mozilla.org/security/2010/03/31/plugging-the-css-history-leak/

1

Sie Animation früher verwendet haben könnte, aber jetzt sind die meisten Browser Verwendung von CSS-Stil beschränken in besucht. Nur Eigenschaften ermöglichen es sind

  1. Farbe
  2. background-color
  3. Grenze - * - Farbe
  4. outline-color und die
  5. Farbe Teile der Füll- und Stricheigenschaften.

source

WARUM

Frühere Menschen besuchten Hack verwenden verwendet, um herauszufinden, welche Websites Sie besucht haben.

http://dbaron.org/mozilla/visited-privacy