-
1. Data: 2009-11-24 13:45:36
Temat: Google Analytics a xhtml oraz serwowanie tresci jako xhtml xml
Od: "Gabriel" <z...@p...fm>
Witam!
W archiwum znalazlem nawiazujaca do problemu, ale nie podajaca
odpowiedniego rozwiazania wypowiedz pornela na temat google analytics a
xhtml serwowany poprawnie (czyli nie jako zwykly html/text).
Poniewaz strona, ktora prowadze tzn. http://www.monitoringkomputera.pl
jest w xhtml 1.1 strict i zawartosc jest serwowana jako xhtml+xml to
zaczalem miec problem z google analytics, ktorego kod podpialem do strony.
Wiadomo. Kod ten wyglada mniej wiecej tak:
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl."
: "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost +
"google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("tutaj numerek trackera");
pageTracker._trackPageview();
} catch(err) {}
</script>
W xhtml nie ma mozliwosci korzystania z document.write czyli przy
prawidlowym serwowaniu zawartosci niestety GA nie dzialalo.
W poszukiwaniu rozwiazania natknalem sie na strone:
http://blog.kyd.com.au/google-analytics-and-xhtml/
Wdrozylem to rozwiazanie i wyglada ze wszystko dziala ok.
Czy ktos ewentualnie ma jakies inne doswiadczenia z problemem GA i xhtml i
moze sie odniesc co do zastosowanej przeze mnie metody obejscia problemu?
No i pytanie dodatkowe. W chwili obecnej serwuje zawartosc strony na
podstawie skryptu umieszczonego kiedys na stronie pornela (w index.php,
leciutko zmodyfikowany):
$xhtml = false;
if
(preg_match('/application\/xhtml\+xml(?![+a-z])(;q=(
0\.\d{1,3}|[01]))?/i',
$_SERVER['HTTP_ACCEPT'], $matches)) {
$xhtmlQ = isset($matches[2])?($matches[2]+0.2):1;
if (preg_match('/text\/html(;q=(0\d{1,3}|[01]))s?/i',
$_SERVER['HTTP_ACCEPT'], $matches)) {
$htmlQ = isset($matches[2]) ? $matches[2] : 1;
$xhtml = ($xhtmlQ >= $htmlQ);
} else {
$xhtml = true;
}
}
if ($xhtml) {
header('Content-Type: application/xhtml+xml; charset=utf-8');
} else {
header('Content-Type: text/html; charset=utf-8');
}
Czy na chwile obecna (bo podejrzewam, ze skrypt ten zostal napisany
jeszcze za czasow krolowania IE6) nalezy go w jakis sposob zmodyfikowac,
zeby przystosowac do nowszych warunkow, czy zostawic bo jest ok?
--
Pozdrawiam
Gabriel Zastawnik
http://www.monitoringkomputera.pl
-
2. Data: 2009-11-24 14:22:39
Temat: Re: Google Analytics a xhtml oraz serwowanie tresci jako xhtml xml
Od: sas <s...@s...sas>
Gabriel pisze:
> <script type="text/javascript">
> var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl."
> : "http://www.");
> document.write(unescape("%3Cscript src='" + gaJsHost +
> "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
> </script>
> <script type="text/javascript">
> try {
> var pageTracker = _gat._getTracker("tutaj numerek trackera");
> pageTracker._trackPageview();
> } catch(err) {}
> </script>
>
> W xhtml nie ma mozliwosci korzystania z document.write czyli przy
> prawidlowym serwowaniu zawartosci niestety GA nie dzialalo.
http://www.w3.org/MarkUp/2004/xhtml-faq#docwrite
Zamiast document.write możesz użyć odpowiednich metod DOM, najpewniej
document.createElement(), ...
-
3. Data: 2009-11-24 14:55:45
Temat: Re: Google Analytics a xhtml oraz serwowanie tresci jako xhtml xml
Od: "Gabriel" <z...@p...fm>
Użytkownik "sas" <s...@s...sas> napisał w wiadomości
news:hegq7d$a3e$1@news.dialog.net.pl...
> http://www.w3.org/MarkUp/2004/xhtml-faq#docwrite
> Zamiast document.write możesz użyć odpowiednich metod DOM, najpewniej
> document.createElement(), ...
Nie no spoko. Wiem. Ale nie do konca jest to takie proste, bo skryptow
pozwalajacych na obejscie problemu document.write i artykulow temu
problemowi poswieconych jest w sieci sporo. I co rusz sie okazuje, ze te
metody maja jakies swoje wady, albo nie zawsze dzialaja.
A mnie chodzi o ten wlasnie konkretny przyklad - z GA, bo jest on chyba w
wiekszosci obecnie tworzonych stron wykorzystywany do tworzenia statystyk
odwiedzin.
Fragment skryptu:
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl."
: "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost +
"google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
odpowiada tylko i wylacznie za "wgranie" odpowiedniej wersji ga.js (albo dla
ssl, albo nie dla ssl).
Kyd zaproponowal:
<script type="text/javascript" src="http<?php if($_SERVER['HTTPS']) echo 's'
?>://www.google-analytics.com/ga.js"></script>
Wiec moje pytanie bylo takie - czy rozwiazanie podane przez Standardista Kyd
w tym przypadku bedzie najlepsze? Czy tez moze niesc za soba jakies
niebezpieczenstwo, ktore lepiej ominac w inny sposob?
Bo troche inaczej ma sie sprawa na przyklad z google maps. Tam jako obejscie
problemu wykorzystywania document.write wykorzystywalem skrypt
"xhtml-document-write.js" i dziala w zasadzie bardzo fajnie w kazdej z
przegladarek.
--
Pozdrawiam
Gabriel Zastawnik
http://www.monitoringkomputera.pl - Monitoring Komputera
-
4. Data: 2009-11-24 19:33:41
Temat: Re: Google Analytics a xhtml oraz serwowanie tresci jako xhtml xml
Od: porneL <n...@p...net>
On Tue, 24 Nov 2009 14:55:45 -0000, Gabriel <z...@p...fm> wrote:
> Fragment skryptu:
> <script type="text/javascript">
> var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl."
> : "http://www.");
> document.write(unescape("%3Cscript src='" + gaJsHost +
> "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
> </script>
>
> odpowiada tylko i wylacznie za "wgranie" odpowiedniej wersji ga.js (albo
> dla ssl, albo nie dla ssl).
>
> Kyd zaproponowal:
> <script type="text/javascript" src="http<?php if($_SERVER['HTTPS']) echo
> 's'
> ?>://www.google-analytics.com/ga.js"></script>
To nie jest dokładnie to samo (oryginał dodatkowo zmienia ssl/www).
Używasz HTTPS w ogóle? Jak nie, to olej cały cyrk i wstaw
http://www.google-analytics.com/ga.js na sztywno.
> Bo troche inaczej ma sie sprawa na przyklad z google maps. Tam jako
> obejscie problemu wykorzystywania document.write wykorzystywalem skrypt
> "xhtml-document-write.js" i dziala w zasadzie bardzo fajnie w kazdej z
> przegladarek.
Jak chcesz używać produktów Google, to odpuść sobie XHTML. Google ciągle
udowadnia, że nie potrafi/nie chce wspierać XHTML (sądząc po gafie z xmlns
na chromium.org obstawiam, że nie potrafi).
--
http://pornel.net
this.author = new Geek("porneL");
-
5. Data: 2009-11-24 21:55:47
Temat: Re: Google Analytics a xhtml oraz serwowanie tresci jako xhtml xml
Od: "Gabriel" <z...@p...fm>
Użytkownik "porneL" <n...@p...net> napisał w wiadomości
news:op.u3wzafbnutk0y1@aimac.local...
> To nie jest dokładnie to samo (oryginał dodatkowo zmienia ssl/www).
No w sumie fakt, ale to mozna poprawic przy generowaniu przez php.
> Używasz HTTPS w ogóle? Jak nie, to olej cały cyrk i wstaw
> http://www.google-analytics.com/ga.js na sztywno.
W sumie nie uzywam. Przynajmniej na tej stronie.
> Jak chcesz używać produktów Google, to odpuść sobie XHTML.
Never:) Raczej na odwrot bym zrobil:) Czyli zrezygnowal z produktow google.
> Google ciągle udowadnia, że nie potrafi/nie chce wspierać XHTML
Przeciez w koncu to zmienia. Wierze w to:)
> (sądząc po gafie z xmlns
> na chromium.org obstawiam, że nie potrafi).
A o co chodzi? Bo nie wiem..
--
Pozdrawiam
Gabriel Zastawnik
http://www.monitoringkomputera.pl - Monitoring Komputera
-
6. Data: 2009-11-25 20:00:21
Temat: Re: Google Analytics a xhtml oraz serwowanie tresci jako xhtml xml
Od: porneL <n...@p...net>
On Tue, 24 Nov 2009 21:55:47 -0000, Gabriel <z...@p...fm> wrote:
>> Google ciągle udowadnia, że nie potrafi/nie chce wspierać XHTML
>
> Przeciez w koncu to zmienia. Wierze w to:)
>
>> (sądząc po gafie z xmlns
>> na chromium.org obstawiam, że nie potrafi).
>
> A o co chodzi? Bo nie wiem..
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional
.dtd">
[...]
<body xmlns="http://www.google.com/ns/jotspot" id="body" class=" en">
Strona działa tylko dzięki temu, że nie potrafią włączyć prawidłowego MIME
type.
--
http://pornel.net
this.author = new Geek("porneL");
-
7. Data: 2009-11-25 21:49:07
Temat: Re: Google Analytics a xhtml oraz serwowanie tresci jako xhtml xml
Od: Gabriel Zastawnik <g...@g...com>
On 25 Lis, 21:00, porneL <n...@p...net> wrote:
> > A o co chodzi? Bo nie wiem..
>
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional
.dtd">
> <body xmlns="http://www.google.com/ns/jotspot" id="body" class=" en">
> Strona działa tylko dzięki temu, że nie potrafią włączyć prawidłowego MIME type.
o_O. O kurcze. Nie widzialem tego.
A tak troszke z innej beczki i wracajac do mojego drugiego pytania z
postu rozpoczynajacego watek - czy ten twoj skrypt do serwowania w php
xhtml+xml ktory daaawno temu pozwolilem sobie skopiowac z twojego
artykulu jest nadal ok? Czy cos trzeba moze w nim zmienic/uaktualnic?
--
Pozdrawiam
Gabriel Zastawnik
http://www.monitoringkomputera.pl
-
8. Data: 2009-11-28 14:26:07
Temat: Re: Google Analytics a xhtml oraz serwowanie tresci jako xhtml xml
Od: "Andrzej P. Wozniak" <u...@p...onet.pl.invalid>
Osoba podpisana jako Gabriel Zastawnik <g...@g...com> w artykule
<news:dc580301-3297-42be-89da-8fced5f6bf7a@p35g2000y
qh.googlegroups.com>
pisze:
> On 25 Lis, 21:00, porneL <n...@p...net> wrote:
>>> A o co chodzi? Bo nie wiem..
>>
>> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
>> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional
.dtd">
>> <body xmlns="http://www.google.com/ns/jotspot" id="body" class=" en">
>> Strona działa tylko dzięki temu, że nie potrafią włączyć prawidłowego
>> MIME type.
>
> o_O. O kurcze. Nie widzialem tego.
A to u siebie widziałeś:
/----
Message-ID: <d...@p...go
oglegroups.com>
References: o...@a...local
[...]
User-Agent: G2/1.0
\----
Identyfikator msg-id musi być w nawiasach kątowych <> również w referencjach.
--
Andrzej P. Woźniak u...@p...onet.pl (zamień miejscami z<->h w adresie)
-
9. Data: 2009-11-28 14:44:06
Temat: Re: Google Analytics a xhtml oraz serwowanie tresci jako xhtml xml
Od: porneL <n...@p...net>
On Sat, 28 Nov 2009 14:26:07 -0000, Andrzej P. Wozniak
<u...@p...onet.pl.invalid> wrote:
>>> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
>>> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional
.dtd">
>>> <body xmlns="http://www.google.com/ns/jotspot" id="body" class=" en">
>>> Strona działa tylko dzięki temu, że nie potrafią włączyć prawidłowego
>>> MIME type.
>>
>> o_O. O kurcze. Nie widzialem tego.
>
> A to u siebie widziałeś:
> /----
> Message-ID:
> <d...@p...go
oglegroups.com>
> References: o...@a...local
> [...]
> User-Agent: G2/1.0
> \----
> Identyfikator msg-id musi być w nawiasach kątowych <> również w
> referencjach.
Eee, całe Google Groups to fuszerka. Polegają na <iframe height=100%>
(IEizm niezgodny z CSS2). Nie postarali się o używalne UI do moderacji,
ani podstawowy antyspam:
http://ejohn.org/blog/google-groups-is-dead/
--
http://pornel.net
this.author = new Geek("porneL");
-
10. Data: 2009-11-28 15:23:27
Temat: Re: Google Analytics a xhtml oraz serwowanie tresci jako xhtml xml
Od: "Gabriel" <z...@p...fm>
Użytkownik "Andrzej P. Wozniak" <u...@p...onet.pl.invalid> napisał w
wiadomości news:herc2j$e94$1@news.onet.pl...
> A to u siebie widziałeś:
> /----
> Message-ID:
<d...@p...go
oglegroups.com>
> References: o...@a...local
> [...]
> User-Agent: G2/1.0
> \----
> Identyfikator msg-id musi być w nawiasach kątowych <> również w
referencjach.
Nie. Nie widzialem Andrzeju. Akurat to byl chyba jeden z 2 lub 3 postow,
ktore wyslalem w zyciu korzystajac z google groups. Nawet nie zagladalem w
naglowki. Niemozliwe, zeby chlopaki z google tak to zepsiuli... ale chyba
fakty same swiadcza za siebie.
--
Pozdrawiam
Gabriel Zastawnik
http://www.monitoringkomputera.pl - Monitoring Komputera