Michael Schröpl: Forumshauptdatei vergrößern

Beitrag lesen

Hi Kai,

http://webalizer.teamone.de/selfforum/mgzta.html
(vielen Dank an Michael fuer das Script).

grusel ... daß es sooo schlecht funktioniert, hätte ich ja wirklich
nicht gedacht ... momentan ist diese Tabelle noch ziemlich unbrauchbar.
Irgendwer ballert das Self-Portal mit URLs zu, welche '#' als Zeichen
enthalten, glaube ich ... einige werden sich noch an meinen Thread
deswegen erinnern ... gnlpfts ...

2mal strg+[+] - ah, da steht ja was ;)

Äh, ja. Ich weiß nicht, wie ihr das macht - bei mir ist das Teil in
1024 * 768 bildschirmfüllend, und die Schriftgrößen sind CSS in px ...

-> wo kommen all die Opera 6.02 betas her?

Meinst Du diese ungeheuerlichen Massen von 0.7%? ;-)

-> der Mac scheint mir eine Hochburg für Netscrap 4 - oder?

Für solche Massen von verschiedenen UserAgents war diese Tabelle eigentlich nie gedacht (und einen BrowserWatch sollte sie auch nicht ersetzen). Bedenke auch, daß alles außer den ersten 8 Zeilen praktisch
vernachlässigbare Anteile sind.

-> selbst HIER ist der Tarn-Anteil bei Opera weit über 50% (!) -
oder wirkt das nur so?

Das wirkt nur so.

Ich fasse definitiv nichts "intelligent" zusammen (wie der Webalizer
...), ich nehme nur einige Strings heraus, welche m. E. zur Erkennung
der Art des Browsers nichts Wesentliches betragen (so Sachen wie [de]).
Das müßte ich viel aggressiver tun, um den ganzen Müll so viel besser zusammenzufassen, daß diese Tabelle etwas taugt.

Ich kann ja mal den bisherigen Code posten - vielleicht hat ja jemand
Verbesserungsvorschläge (auch für den Programmierstil, gerne ;-) ...
bisher ist das alles nicht wirklich toll, finde ich selbst.
(Diese UserAgent-Tabelle sollte eigentlich eher rausfliegen ...)

Was mich an den Tabellen reizt, das sind die Zahlen ... nicht die Namen
der Zeilen. Man sieht, was an Traffic fließt und wer woran schuld ist.

Viele Grüße
      Michael

# 'clean up' the User Agent a bit ...
    if ($strip_useragents)
       {
         # ------------------------------------------------------------
         # delete any HTML code (this will be part of our HTML tables!)
           $this_user_agent =~ s/<[^>]*>//g;
         # ------------------------------------------------------------
         # delete language versions like [de] or [en]
           $this_user_agent =~ s/\s*[[a-z][a-z]]\s*/ /;
         # ------------------------------------------------------------
         # split UserAgent structure "xxxxxx (yyy; zzz) nnn" into parts
           if ($this_user_agent =~ /^(.+?)\s*((.+?))\s*(.*)$/)
              {
                # -----------------------------------------------------
                # symbolic names for User Agent's parts
                  my ($head, $middle, $tail) = ($1, $2, $3);
                # -----------------------------------------------------
                # Split up middle part at '; '
                  my %middle_parts = ();
                  foreach my $this_middle_part (split (/; /, $middle))
                          { $middle_parts {$this_middle_part} = 1; }
                # -----------------------------------------------------
                # Delete useless parts
                  delete ($middle_parts {'cebit'});
                  delete ($middle_parts {'compatible'});
                  delete ($middle_parts {'compat'});
                  delete ($middle_parts {'DigExt'});
                  delete ($middle_parts {'I'});
                  delete ($middle_parts {'U'});
                  delete ($middle_parts {'de-DE'});
                  foreach my $this_key (keys %middle_parts)
                          { if ($this_key =~ /^X11/) { delete $middle_parts {$this_key}; } }
                  foreach my $this_key (keys %middle_parts)
                          { if ($this_key =~ /^Win/) { delete $middle_parts {$this_key}; } }
                  foreach my $this_key (keys %middle_parts)
                          { if ($this_key =~ /^QX/i) { delete $middle_parts {$this_key}; } }
                # -----------------------------------------------------
                # re-join remaining middle-parts
                  $middle = join ('; ', keys (%middle_parts));
                  if ($middle) { $middle = " ($middle)"; }
                # -----------------------------------------------------
                # re-join complete User Agent
                  $this_user_agent = $head . $middle . ' ' . $tail;
                # ----------------------------------------------------
                  $this_user_agent =~ s/C-(\w|-)+/ /i;
                  $this_user_agent =~ s/QX(\w|-)+/ /i;
                # -----------------------------------------------------
              }
         #    else
         #    { print "$this_user_agent\n"; }
         # ------------------------------------------------------------
       }
  # finally strip trailing spaces
    $this_user_agent =~ s/\s+$//;

0 65

wie weit runter lest ihr?

Phil
  • zu diesem forum
  1. 0
    Andreas
    1. 0
      Phil
      1. 0
        Mathias Bigge
        1. 0
          AB
          1. 0
            genau
            1. 0
              stimmt
              1. 0
                genau
  2. 0
    Kai Lahmann
  3. 0
    Jochen Kubik
    1. 0
      Phil
  4. 0
    Bio
    1. 0

      Forumshauptdatei vergrößern

      Michael Schröpl
      1. 0
        Michael Schröpl
        1. 0
          Christian Kruse
          1. 0
            Jochen Kubik
            1. 0
              Christian Kruse
            2. 0
              Michael Schröpl
              1. 0
                Martin Jung
                1. 0
                  Michael Schröpl
          2. 0
            Kai Lahmann
            1. 0
              Christian Kruse
              1. 0
                Kai Lahmann
                1. 0
                  Christian Kruse
                  1. 0
                    Kai Lahmann
                    1. 0
                      Michael Schröpl
                      1. 0
                        Kai Lahmann
                        1. 0
                          Michael Schröpl
                    2. 0
                      Christian Kruse
                      1. 0
                        Kai Lahmann
                        1. 0
                          Michael Schröpl
                          1. 0
                            Kai Lahmann
                            1. 0
                              Michael Schröpl
                              1. 0
                                Kai Lahmann
                                1. 0
                                  Christian Kruse
                          2. 0
                            Matti Maekitalo
                  2. 0
                    Michael Schröpl
            2. 0
              Michael Schröpl
              1. 0
                Kai Lahmann
              2. 0
                Orlando
          3. 0

            mod_gzip-Statistikerstellung

            Sven Rautenberg
            1. 0
              MIchael Schröpl
              1. 0
                Sven Rautenberg
                1. 0
                  Michael Schröpl
                  1. 0
                    Sven Rautenberg
          4. 0

            Hooray! Hooray! It's a holi-holiday ... :-)

            LanX
            1. 0
              Christian Kruse
              1. 0
                LanX
                1. 0
                  Christian Kruse
                  1. 0
                    LanX
                    1. 0
                      Christian Kruse
                      1. 0
                        LanX
                        1. 0

                          JS Benchmark

                          LanX
                          • browser
                          1. 0
                            Matti Maekitalo
                            1. 0
                              LanX
    2. 0
      Phil
      1. 0
        Der freundliche Linksetzer
  5. 0
    Josef B.
    1. 0
      Phil
  6. 0
    Michael Schröpl
  7. 0
    CarstenP
  8. 0
    Andreas
    1. 0
      Phil
  9. 0
    Thomas J.S.
  10. 0
    Philipp Hasenfratz