Frage

Humor mich hier ein bisschen.

Warum sollte ich verwenden <noscript> auf meinen Seiten? Die Alternative (zumindest die, die ich benutze) ist die Modernizr + no-js Klasse combo, die (zum Beispiel) mit dem HTML 5-Boilerplate verwendet wird, und dies war bisher in allen Anwendungsfällen ausreichend.

Der einzige Grund, warum ich mir vorstellen kann, zu verwenden <noscript> soll Ressourcendateien bedingt geladen werden, wenn JS nicht aktiviert ist (höchstwahrscheinlich CSS-Überschreibungen?).Ich bin mir nicht sicher, ob es eine Möglichkeit gibt, das JS-frei zu machen, ohne es zu benutzen <noscript>, aber selbst dieser Anwendungsfall scheint, dass es umgangen werden kann.

Viele offensichtliche Antworten unten.

Ja, <noscript> wird verwendet, um HTML-Elemente für den Client bedingt anzuzeigen / auszublenden, wenn Javascript nicht verfügbar ist.Das weiß ich.Das weißt du.Jeder, der mit HTML arbeitet, sollte das höchstwahrscheinlich wissen.

Es gibt jedoch viele andere Möglichkeiten, dasselbe zu tun, von denen die meisten bevorzugt werden <noscript>.Einer ist der html.no-js klasse, die modernisiert, was ich oben erwähnt habe.

Die Idee hinter der Frage ist also eher, gibt es irgendetwas, das <noscript> kann für den Webentwickler tun, was für ihn einzigartig ist?Das heißt, es ist bedeutsam genug, aber es gibt keine andere Möglichkeit, es anders zu machen?

@Guffa unten macht einen guten Punkt mit den Anzeigen.

War es hilfreich?

Lösung

Nun, warum solltest du?Wenn du keine Verwendung dafür hast, dann benutze es einfach nicht.

Der noscript tag wird häufig für den Fallback in Anzeigen und Besucherverfolgung verwendet.Wenn der Benutzer Javascript deaktiviert hat, wird ein einfaches Bild geladen, anstatt das Skript auszuführen.

Andere Tipps

wenn der Browser des Benutzers Javascript nicht unterstützt oder Javascript deaktiviert ist.das Element, das angezeigt wird.

Wenn ich mich richtig erinnere, war einer der wichtigsten Anwendungsfälle, die identifiziert wurden, um die Aufnahme in HTML5 zu rechtfertigen (im Gegensatz zu der Einstufung als veraltet), dass es verwendet werden kann mit <meta http-equiv="refresh" ... darin enthalten, sodass der Benutzer automatisch zu einer Nicht-JS-Version der Website weitergeleitet wird, wenn JS nicht verfügbar ist.

Wenn Sie eine Seite mit Crucial JS haben, verwenden Sie noscript damit Ihre Benutzer wissen, dass ihr JS deaktiviert ist und sie es aktivieren müssen, um die Seite anzuzeigen.

tag wird verwendet, wenn JavaScript des Browsers deaktiviert ist.Der Inhalt wird nur angezeigt, wenn in Ihrem Browser JavaScript nicht aktiviert ist.

Sie können es für Warnmeldungen wie verwenden:'Hye Ihr JavaScript ist deaktiviert."

Der beste Anwendungsfall, den ich mir für Noscript vorstellen kann, ist, wenn Sie versuchen, Javascript zu verwenden, um das Laden von Assets für die Seitenleistung zu verzögern.Betrachten Sie einen einfachen Image-Lazy-Loader:

<style>
    .no-js .lazy-load { display:none }
</style>
<img data-src="/path/to/img.jpg" src="/placeholder.png" class="lazy-load">
<noscript>
    <img src="/path/to/img.jpg">
</noscript>
<script>(function ($) {
    // http://stackoverflow.com/a/488073/1459873
    function isScrolledIntoView(elem) {
        var $elem = $(elem);
        var $window = $(window);
        var docViewTop = $window.scrollTop();
        var docViewBottom = docViewTop + $window.height();
        var elemTop = $elem.offset().top;
        var elemBottom = elemTop + $elem.height();
        return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop));
    }
    function lazyLoad() {
        $('img.lazy-load').filter(function () {
            return isScrolledIntoView(this);
        }).each(function () {
            var $this = $(this);
            $this.attr('src', $this.data('src'))
                 .removeClass('lazy-load')
                 .addClass('lazy-loaded');
        });
    }
    $.ready(lazyLoad);
    $(window).on('load scroll resize', lazyLoad);
}(jQuery))</script>

Wenn Sie versuchen, das verzögert geladene Bild mit CSS-Klassen auszublenden, lädt der No-js-Fallback das Bild weiterhin.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top