gagarine / no-transition Goto Github PK
View Code? Open in Web Editor NEWDisable all the shiny and inappropriate animations made with CSS3 on your browser.
Home Page: https://addons.mozilla.org/en-US/firefox/addon/no-transition/
Disable all the shiny and inappropriate animations made with CSS3 on your browser.
Home Page: https://addons.mozilla.org/en-US/firefox/addon/no-transition/
On various sites this plugin will cause scrolling issues. Some examples:
https://lifehacker.com/our-favorite-features-in-the-new-firefox-70-browser-1839290547 screen recording โ watch the bottom right area after the page is reloaded:
I guess that the same (or similar) might be encountered at some other G/O Media sites.
Is there any easy way to avoid this peculiarity?
If it's out of scope for the extension, please close this issue.
I've seen some websites that put a "loading" animation in the ::before
pseudo element. The addon doesn't block those. It should match: *, *::before, *::after {...
Here's an example of an animation that isn't blocked:
<!DOCTYPE html>
<html>
<head>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons"
rel="stylesheet">
<style>
div::before {
font-family: "Material Icons";
content:"refresh";
position:absolute; left:100px; top:100px;
font-size:3em;
animation:rotate 2s infinite linear;
}
@keyframes rotate{
from {transform: rotate(0deg)}
to {transform: rotate(360deg)}
}
</style>
</head>
<body>
<div>Example of animation in a ::before pseudo element:</div>
</body>
</html>
I see this error message appear in Firefox console with regard to No-Transition:
Error: Missing host permission for the tab, and any iframes
Why it's been removed from Firefox addons catalogue? I used this addon mainly for getting rid of the idiotic recaptcha fading. Just reinstalled my FF but couldn't find this important helper. Thank you!
Great extension.
The toggle icon is somewhat confusing: Does a play icon mean that it is enabled, or that I have to click to enable it (i.e. disabled)? Does pause mean that the extension is paused or that animations are paused?
The plugin kill almost all animation, but not all.
It seem browser.tabs.insertCSS(tab.id, { code: CSS, cssOrigin: 'user' });
doesn't works has documented. !important seem to not be taken into account.
We need to investigate a more reliable way to inject the CSS to avoid styles overwrite by the website.
See:
Steps to reproduce:
.result__body
block elements where the URL is truncated (ending in "...")I say "appear" because it happens so quickly that it's difficult to see precisely what happens. Nonetheless, the effect is jarring enough to be quite noticeable.
Further, I noticed that a similar effect sometimes occurs while using a mouse wheel to scroll rapidly back up the top of DuckDuckGo search results page, even while keeping the pointer clear of result body elements. It is easy to spot because the banner containing the search input field (that re-appears when the top of the page is reached) then also exhibits the same behaviour as described in step 4.
This is a good addon to help stop useless and distracting animations that slow down the computer and waste power and battery life. Thanks!
But some sites really need the animations to work. So it would be great to have a blacklist/whitelist function. It might be nice if it could integrate with the "Permissions" available through "Page Info" in Firefox, though I don't know if that's possible.
I'm currently on No Transition 1.1.8 and, unless I turn it off, attempting to scroll too far down a document in GitHub Gist's code editor causes the editor to stop updating and trigger Firefox's prompt about the page slowing down the browser which asks whether I want to kill it.
I've tried waiting over a minute and the content process just keeps spinning away at 100% of a single core.
Toggling No Transition off fixes the problem.
This morning I tried the extension on my Firefox ESR 52.2.1 on XP and doesn't work (tested on links found on your AMO addon page).
On Firefox 55 beta works fine.
Maybe you must correct the minimum version compatibility.
Related:
Not sure what all of this is...
--transition-standard-easing: cubic-bezier(.4,.0,.2,1);
--transition-standard-in-time: .3s;
--transition-standard-out-time: .25s;
--transition-standard-in: var(--transition-standard-in-time) var(--transition-standard-easing);
--transition-standard-out: var(--transition-standard-out-time) var(--transition-standard-easing);
--pm-transition: .2s ease-in-out;
--layer-transition: .2s cubic-bezier(.4,.0,.2,1);
--slide-header-transition: .4s ease-in-out;
--tabs-transition: .25s ease-in-out;
--btn-menu-transition: .2s cubic-bezier(.4,0,.2,1);
--esg-transition: var(--btn-menu-transition);
--popup-transition-function: cubic-bezier(.4,0,.2,1);
--popup-transition-time: .15s;
--btn-corner-transition: .2s cubic-bezier(.34,1.56,.64,1);
--chatlist-badge-transition-in: .2s cubic-bezier(.35,.35,.47,1);
--chatlist-badge-transition-out: .2s cubic-bezier(.35,.35,.7,1);
--bubble-transition-in: transform var(--transition-standard-in),opacity var(--transition-standard-in);
--bubble-transition-out: transform var(--transition-standard-out),opacity var(--transition-standard-out);
--transition-standard-easing: cubic-bezier(.4,.0,.2,1);
--transition-standard-in-time: .3s;
--transition-standard-out-time: .25s;
--transition-standard-in: var(--transition-standard-in-time) var(--transition-standard-easing);
--transition-standard-out: var(--transition-standard-out-time) var(--transition-standard-easing);
--pm-transition: .2s ease-in-out;
--layer-transition: .2s cubic-bezier(.4,.0,.2,1);
--slide-header-transition: .4s ease-in-out;
--tabs-transition: .25s ease-in-out;
--btn-menu-transition: .2s cubic-bezier(.4,0,.2,1);
--esg-transition: var(--btn-menu-transition);
--popup-transition-function: cubic-bezier(.4,0,.2,1);
--popup-transition-time: .15s;
--btn-corner-transition: .2s cubic-bezier(.34,1.56,.64,1);
--chatlist-badge-transition-in: .2s cubic-bezier(.35,.35,.47,1);
--chatlist-badge-transition-out: .2s cubic-bezier(.35,.35,.7,1);
--bubble-transition-in: transform var(--transition-standard-in),opacity var(--transition-standard-in);
--bubble-transition-out: transform var(--transition-standard-out),opacity var(--transition-standard-out);
--transition-standard-easing: cubic-bezier(.4,.0,.2,1);
--transition-standard-in-time: .3s;
--transition-standard-out-time: .25s;
--transition-standard-in: var(--transition-standard-in-time) var(--transition-standard-easing);
--transition-standard-out: var(--transition-standard-out-time) var(--transition-standard-easing);
--pm-transition: .2s ease-in-out;
--layer-transition: .2s cubic-bezier(.4,.0,.2,1);
--slide-header-transition: .4s ease-in-out;
--tabs-transition: .25s ease-in-out;
--btn-menu-transition: .2s cubic-bezier(.4,0,.2,1);
--esg-transition: var(--btn-menu-transition);
--popup-transition-function: cubic-bezier(.4,0,.2,1);
--popup-transition-time: .15s;
--btn-corner-transition: .2s cubic-bezier(.34,1.56,.64,1);
--chatlist-badge-transition-in: .2s cubic-bezier(.35,.35,.47,1);
--chatlist-badge-transition-out: .2s cubic-bezier(.35,.35,.7,1);
--bubble-transition-in: transform var(--transition-standard-in),opacity var(--transition-standard-in);
--bubble-transition-out: transform var(--transition-standard-out),opacity var(--transition-standard-out);
--transition-standard-easing: cubic-bezier(.4,.0,.2,1);
--transition-standard-in-time: .3s;
--transition-standard-out-time: .25s;
--transition-standard-in: var(--transition-standard-in-time) var(--transition-standard-easing);
--transition-standard-out: var(--transition-standard-out-time) var(--transition-standard-easing);
--pm-transition: .2s ease-in-out;
--layer-transition: .2s cubic-bezier(.4,.0,.2,1);
--slide-header-transition: .4s ease-in-out;
--tabs-transition: .25s ease-in-out;
--btn-menu-transition: .2s cubic-bezier(.4,0,.2,1);
--esg-transition: var(--btn-menu-transition);
--popup-transition-function: cubic-bezier(.4,0,.2,1);
--popup-transition-time: .15s;
--btn-corner-transition: .2s cubic-bezier(.34,1.56,.64,1);
--chatlist-badge-transition-in: .2s cubic-bezier(.35,.35,.47,1);
--chatlist-badge-transition-out: .2s cubic-bezier(.35,.35,.7,1);
--bubble-transition-in: transform var(--transition-standard-in),opacity var(--transition-standard-in);
--bubble-transition-out: transform var(--transition-standard-out),opacity var(--transition-standard-out);
Let's see if we can pause most of carousel / slider by default. User can still move from slide to slide using the carousel navigation. This features should be optional.
See https://addons.mozilla.org/en-US/firefox/addon/no-transition/reviews/895660
Nobody should use carousel: http://shouldiuseacarousel.com/
First, I need a list of top carousels plugin and popular website using them...
The addon works by inserting these styles to disable animations:
/*CSS transition*/
transition: none !important;
/*CSS animations*/
animation: none !important;
I'm not an expert, but I've found it might be useful to consider some of these additional types:
/*CSS transitions*/
-o-transition-property: none !important;
-moz-transition-property: none !important;
-ms-transition-property: none !important;
-webkit-transition-property: none !important;
transition-property: none !important;
/*CSS transforms*/
-o-transform: none !important;
-moz-transform: none !important;
-ms-transform: none !important;
-webkit-transform: none !important;
transform: none !important;
/*CSS animations*/
-webkit-animation: none !important;
-moz-animation: none !important;
-o-animation: none !important;
-ms-animation: none !important;
animation: none !important;
I'm not sure which of them may be necessary. There's some discussion about it here:
https://stackoverflow.com/questions/11131875/what-is-the-cleanest-way-to-disable-css-transition-effects-temporarily/16575811#16575811
Also, sometimes completely disabling animations can cause problems. See:
https://www.reddit.com/r/firefox/comments/37hw8o/how_to_disable_all_animations/
Which suggests the alternative:
animation-delay: 0ms !important;
animation-duration: 0ms !important;
transition: none !important;
And these bookmarklets which offer a choice of killing or just pausing:
https://github.com/stephen322/cssanim-bookmarklet
SVG smil animations are still playing. Firefox has an image.animation_mode
flag in the about:config
that can be set from normal
to none
- maybe your addon could also make use on that? (might also affect gifs though, but maybe for some that's also desirable)
On the other hand, it's probably not possible to pause/continue these animations without page reload, and afaik with the flag we don't get the final state of the animations but they don't even start, so a custom solution might be required. Hm, hope it doesn't turn out to be too much work.
In general, your addon does a very good job disabling the animations already :)
On https://accounts.google.com/signin/v2/ field stay in gray state.
When I installed this addon, nothing really changed.
https://addons.mozilla.org/addon/no-transition/ names the extension:
The installed extension is named:
Can you have just one name for the extension?
Thanks
Animations can be disabled by setting jQuery.fx.off
to true
With the extension enabled I'm not able to edit any cells in a Google sheet. Instead it automatically sends the keys to the function input.
The No Transition icon is invisible on my dark toolbar. Could there be an option for an icon with different colors so it would appear on a dark toolbar?
Great add on, thanks!
Can you publish the xpi file here for download?
Thank you!
Usually I leave CSS3 animation on, and temporarily disable it with this bookmarklet any time a web page causes a problem: https://github.com/stephen322/cssanim-bookmarklet
It works well if you stay on the same page and don't reload it. But it would be great to have the ability to disable animation in a tab, rather than the whole browser, and have it stay disabled until you close the tab.
For example, I can disable Javascript per-tab with Prefbar and it's "Javascript (tab)" button, or the Tab Permissions addon. I'd like to be able to do the same thing with CSS3 animations.
Despite the simplicity of the UI, it isn't obvious how it works.
When a "play" icon is shown, does it mean that animations are allowed to play, or does it mean that clicking it will switch it to allowing animations to play?
When a "pause" icon is shown, does it mean that animations are paused, or does it mean that clicking it will pause animations?
Can this be used alongside the add-on called Stylish? Is there anyone here who's tried using them together and can confirm whether they both still work? If Stylish tries to use a theme that has animated transitions while No Transition is switched on, who wins? Do the animated transitions display or not? And if Stylish does override No Transition on pages it's enabled for, does No Transition still work correctly on pages that don't have a Stylish style selected?
No Transition is very good, I've been using it for a while now and while it doesn't catch everything it cuts down the disturbance vastly.
Hi,
I have a strobe sensitivity and visual motion sensitivity. I currently use Waterfox because I haven't been able to adequately block the Firefox Quantum throbbers, and because I lost my last usable Firefox installation in a Nightly accident.
I use a number of other tools to try to protect against animation, sticky elements, etc.
Sample Page: https://www.freepress.net/
If I mouse over any of the topic sections there (Net Neutrality, Future of Journalism, etc.) I get punched with animation as images move down and to the right:
Would it be possible to have an Enable/Disable button and state indicator on the Addons Manager page itself ?
(for those who remove buttons from the main UI)
It`s a brilliant idea for an extension and only realised what it was that was annoying me after searching for a fix
Thanks !
Feature request:
Please add an option(or better Setting) to enable or disable animations/transitions by default.
A simple "enable/disable Anims by default" option on the addons settings page would be enough.
Background:
I need to use FF over RDP/VNC a lot. Your add-on is really great for that task because it speeds up may pages a lot. The only downgrade is that I always need to click "Disable" every time I run FF which is a little bit annoying over the time.
Many thanks in advance!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.