Open tantek opened 8 years ago
I believe (scripting: initial-only)
overlaps update
media feature and latter one is more generic as typical printed pages don't support both CSS and JavaScript updates (transitions, animations and so on). UAs like Opera Mini update pages in some conditions so that (update: slow)
can be used.
So, I propose that
initial-only
from scripting
media feature(update: none)
for printed pages(update: slow)
for UAs like Opera MiniThough I believe that update
media feature covers (scripting: initial-only)
uses cases, please let me know if I missed something.
Hmmm. update and script seem somewhat correlated, but I don't think the relationship is strong enough to have one fully replace the other:
An opera-mini like product could definitely have initial-only scripts run on the server, then send the results to the device, with the device still having full capabilities for smooth scrolling and (declarative) animations / transitions.
A user many have completely turned JS off, but their browser would still have full support for declarative animations / transitions.
e-ink viewers would generally fit into update:slow, but they could fall anywhere in terms of scripting.
Thank you for your explanation and I feel like I'm not expressing myself correctly. I'm not against scripting
media feature. Instead, I would like to use this for a few kinds of content. Replacing scripting
with update
is not my intention.
An opera-mini like product could definitely have initial-only scripts run on the server, then send the results to the device, with the device still having full capabilities for smooth scrolling and (declarative) animations / transitions.
I misunderstood behaviors of Opera Mini. I understand why we can't drop initial-only
though specifying initial-only
precisely seems hard.
A user many have completely turned JS off, but their browser would still have full support for declarative animations / transitions.
Yes, we can use (update: fast) and (scripting: none)
for that.
e-ink viewers would generally fit into update:slow, but they could fall anywhere in terms of scripting.
Yes, we can use (update: slow) and (scripting: ...)
for that.
If I understand you correctly, you no longer think that we can drop initial-only and use update instead. Is that right? Do you propose that we change something else, or do you consider this part of the discussion closed?
https://drafts.csswg.org/mediaqueries-5/#scripting
Formerly "Issue 4" inline in the spec, brought here to capture and discuss:
" Should there be an explicit minimum threshold to meet before a UA is allowed to claim initial-only? Having one would mean authors would know what they can depend on, and could tailor their scripts accordingly. On the other hand, pinpointing that threshold is difficult: if it is set too low, the scripting facilities that authors can depend on may be to constrained to be practical, even though actual UAs may potentially all support significantly more. But trying to set it higher may cause us to exclude UAs that do support scripting at loading time, but restrict it in some cases based on complex heuristics. For instance, conservative definitions likely include at least running all inline scripts and firing the DOMContentLoaded event. But it does not seem useful for authors to constrain themselves to this if most (or maybe all) initial-only UAs also load external scripts (including async and defer) and fire the load event. On the other hand, requiring external scripts to be loaded and the load event to be fired could exclude UAs like Opera mini, which typically do run them, but may decide not to based on timeouts and other heuristics. "
Feel free to adjust issue name/title and "[...]" labels according to where this feature ends up. Thanks!