Script oder Inhalt?

B

Benutzer007

Hallo,

ich würde gerne verhindern, dass mit meiner Webseite gearbeitet wird, wenn ein Scriptblocker notwendige Scripte blockt, auch Google Analytics.

Javascript:
if ( typeof window['GoogleAnalyticsObject'] == 'undefined' )  {
  $('div.scriptCheck').css('display','none');
}

Funktioniert leider nicht.
Hat einer einen Tipp?

Grüße
 
Zuletzt bearbeitet von einem Moderator:
Auch wenn ich dein Vorgehen ablehne, wo hast du denn dieses Skript hingepackt?

Wir haben übrigens Codetags. Ich habe deinen obigen Code mal in Codetags gepackt.
 
Notiz am Rande: Die User haben keine Scriptblocker, weil sie böse sind, sondern genau umgekehrt.
Man kann sich auf die Webseitenbetreiber nicht verlassen...
 
@ComFreek + sheel,

Dank für die Antworten.

Codetags? Die muss man aber kennen, oder? Auf der alten Webseite waren die oben in der Leiste sichtbar.

Das Script ist ganz am Ende. Ich weiß nicht, was NoScript da wie deaktiviert, aber irgendwie zieht das nicht, selbst wenn ich das per Intervall alle paar Sekunden checke.

Die User haben keine Scriptblocker, weil sie böse sind, sondern genau umgekehrt.
Man kann sich auf die Webseitenbetreiber nicht verlassen...

Ist mir schon klar. Ich hatte vor ein paar Jahren mal Scriptblocker genutzt, aber es nervte mich meist, weil damit gewisse Funktionen nicht so klappen wie erhofft, ohne dass man lange rumklickt, dasselbe mit Adblock Edge. Habe NoScript heute installiert und mich gewundert, warum ich eine Umfrage eingeben soll, bis es dann geklickt hat. Mit Edge klappen z. B. bei Amazon einige Dinge nicht. Es ist gut, wenn man es weiß, aber manchmal geschieht es ziemlich versteckt, dass man nicht direkt drauf kommt, woran es liegt.

Grüße
 
Wo ist eigentlich der Code, der GoogleAnalyticsObject als globale Variable anlegt?
Das Einfügen hier im Editor klappt auch. Hierfür musst du links neben der Diskette klicken.

PS: Skriptblocker sind oft aggressiver als "normale" Blocker. Normale Blocker (wie AdBlock Plus) verstecken u. a. nur Elemente. Skriptblocker deaktivieren jedes Skript, welches nicht auf der Whitelist ist. Ich nutze auch nur AdBlock Plus, weil mir NoScript viel zu umständlich zu nutzen ist. Ich bewege mich täglich auf Seiten, auf denen JS essentiell ist.
 
Wo ist eigentlich der Code, der GoogleAnalyticsObject als globale Variable anlegt?
Keine Ahnung. Der Code sieht jedenfalls wie folgt aus, es wird ein Objekt gefunden wie typeof zeigt.
Javascript:
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-xxxxxxxxxxxx', 'auto');
  ga('send', 'pageview');
 
Ok.
Funktioniert leider nicht.
Kannst du dies noch spezifizieren?
Ich vermute, du denkst, dass du die Werbung nicht siehst, weil das Skript nicht ausgeführt worden ist. Deswegen prüfst du auf Existenz des GoogleAnalyticsObject-Objektes. Allerdings kann die Werbung auch einfach nur ausgeblendet worden sein. Sprich, das Skript wurde ausgeführt, nur per CSS wird der Container ausgeblendet.
 
Ok.

Kannst du dies noch spezifizieren?
Ich vermute, du denkst, dass du die Werbung nicht siehst, weil das Skript nicht ausgeführt worden ist. Deswegen prüfst du auf Existenz des GoogleAnalyticsObject-Objektes. Allerdings kann die Werbung auch einfach nur ausgeblendet worden sein. Sprich, das Skript wurde ausgeführt, nur per CSS wird der Container ausgeblendet.
Ich will erreichen, dass die Webseite entweder mit JS läuft oder gar nicht. Wie bekomme ich das (direkt) mit? Z. B. indem ich Google Analytics (live) verwende, vorausgesetzt der User geht nicht in den Text-Mode im Browser (Firefox -> Ansicht -> Webseitenstil -> Kein Stil). GA muss also laufen, aber mit NoScript kann man das selektiv verhindert werden, das will ich wiederum unterbinden.
Hier mein Code:
HTML:
<body>

      <noscript>
        This website requires Javascript to execute all functions designated by the vendor.<br>
        Diese Webseite benötigt Javascript um alle Funktionen ausführen zu können wie vom Anbieter vorgesehen.
  </noscript>

  <p style="font-family:'courier';width:100%;height:10000px;background:#fff;color:#000;text-align:center;font-weight:bold;margin:0px;padding:0px;top:0px" class="scriptCheck"><br>This website requires Javascript to execute all functions designated by the vendor.<br>
        Diese Webseite benötigt Javascript um alle Funktionen ausführen zu können wie vom Anbieter vorgesehen.</p>

  <div style="display:none" class="scriptCheck">



  <div> restlicher HTML Code.... </div>
    
            <script>
     $('p.scriptCheck').remove();
     $('div.scriptCheck').css('display','block');
 
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-xxxxxx-x', 'auto');
  ga('send', 'pageview');

  </script>



</div> // scriptCheck

    </body>
</html>
 
Ich will erreichen, dass die Webseite entweder mit JS läuft oder gar nicht. [...]
Hier mein Code:
HTML:
<body>

      <noscript>
        This website requires Javascript to execute all functions designated by the vendor.<br>
        Diese Webseite benötigt Javascript um alle Funktionen ausführen zu können wie vom Anbieter vorgesehen.
  </noscript>
Um was für Scripts handelt es sich eigentlich genau?

Und Unobtrusive JavaScript ist hier keine denkbare Option, um dem Besucher, der in seinem Browser JS deaktiviert/geblockt hat, den Inhalt nicht vorzuenthalten?
______________
[edit]Tipp-Ex[/edit]
 
Zuletzt bearbeitet:
Es geht im Moment eigentlich nur um das Google Analytics-Script (Code oben).
Wenn das nicht ausgeführt, soll der User den Hinweis sehen.
Klar, wenn auf "Kein Stil" umschaltet, sieht er zwar den Text, der ohne JS da war, aber auf der Webseite wird auerßdem sehr viel dazu generiert.
 

Neue Beiträge

Zurück