Batch API assumes client's support of meta refresh
Arancaytar - March 4, 2008 - 17:12
| Project: | Drupal |
| Version: | 6.x-dev |
| Component: | base system |
| Category: | bug report |
| Priority: | normal |
| Assigned: | Unassigned |
| Status: | active |
Jump to:
Description
As first pointed out in #229825: $_COOKIE['has_js'] is not cleared after Javascript is disabled., the Batch API falls back to using a meta-refresh tag when Javascript is disabled.
Some browsers (lynx) do not support this tag at all, and some (Opera?) allow it to be disabled.
The Batch API, and any other code that uses a meta refresh element, must print a visible message on the page that informs the user they are waiting to be redirected, and provide a link to manually follow the redirect.
This is common fallback behavior; see SourceForge download links and the 404 message at http://www.wikipedia.org/Article for two examples.

#1
This may be a duplicate, or at least a closely-related cousin, of http://drupal.org/node/204374.
#2
In reply to #1:
I believe this bug is better suited to handle the issue, since http://drupal.org/node/204374 is much "vaguer".
Robin
#3
Note: The proposed fix of adding a visible link will fix the issue for text-only browsers, but will of course not work for non-interactive user-agents (such as cron).
We will need to rethink this problem eventually, even if we do it only in D7. The batch API is a fine piece of work, but it relies completely on interactive interfaces, which is not always useful. Historically, batch jobs are processed non-interactively on most systems. That makes this problem somewhat ironic.
#4
Perhaps this comment does not add much value to the conversation, but it just struck me: how can it be called a batch API if it requires interactive usage? The two terms are essentially exclusive opposites by definition.