Javascript funktioniert extern nicht

deintag85

Erfahrenes Mitglied
Hallo,
hmm und zwar. Ich programmiere gerade einen Websitecounter. Websitebetreiber können folgenden Code bei sich einbinden um seine Besucher bei mir zu zählen :

Code:
<script src="http://www.domainname.de/js.php?u=1000666&color=black" type="text/javascript" ></script><noscript><a href="http://www.domainname.de/stats.php?u=1000666" target="_blank"><img src="http://www.domainname.de/count.php?u=1000666&color=black" alt="domainname.de - Kostenloser Counter ohne Anmeldung!" border="0" /></a></noscript>

Ich hab das ganze vorher lokal die ganze Zeit ausprobiert ohne Domainnamen, indem ich direkt die dateinamen aufgerufen habe a la

Code:
<script src="js.php?u=1000666&color=black" type="text/javascript" ></script><noscript><a href="stats.php?u=1000666" target="_blank"><img src="count.php?u=1000666&color=black" alt="domainname.de - Kostenloser Counter ohne Anmeldung!" border="0" /></a></noscript>

Das hat so alles funktioniert bisher. Sowohl die JS Variante und die Nicht-JS Variante. Nun habe ich mir die Domain angeschafft und probiere nun von einer fremden Website auf den Counter zuzugreifen indem ich dort diesen Code einfüge. Javascript wird aber nicht erkannt. Es wird auch keine kleine Grafik angezeigt. Wenn ich im FF JS deaktiviere, springt er auf die Nicht-JS-Variante <noscript> und es funktioniert. Er zählt Besucher und zeigt Grafik an.

Worin liegt das Problem, dass er die JS.pHP eventuell gar nicht öffnet oder auf den inhat nicht reagiert?

Hier die JS.PHP

Code:
<?
$color=$_GET["color"];
$counter=$_GET["u"];
?>
<script type="text/javascript">
var ref=document.referrer;
var js=true;
var cookieEnabled=(navigator.cookieEnabled)? true : false;
var depth=window.screen.colorDepth; 
var res=window.screen.width+"x"+window.screen.height;
document.write("<a href='stats.php?u=<? echo $counter; ?>'><img src='count.php?u=<? echo $counter; ?>&depth="+depth+"&res="+res+"&color=<? echo $color; ?>&cookie="+cookieEnabled+"&java="+js+"&ref="+ref+"' border='0'></a>");
</script>

<<-- Hab das Document.write auch probiert indem ich dort den Domainnamen angebe. Aber hat auch nichts gebracht...

Wie gesagt lokal hat alles funktioniert mit und ohne JS. Und auf einmal mit Domainnamen hintendran und von extern funktioniert es nicht mehr... Woran kann das liegen?

LG
 
Hi,

zum einen solltest du eine JavaScript-Datei auch als JS ausliefern. Das kannst du über die PHP-Funktion header realisieren.

Das Bild kann er nicht finden, da es auf dem Server liegt, von dem der Counter angefordert wird. Es muss also die absolute URL zur Grafik angegeben werden.

Code:
<?
header("content-type: application/x-javascript");

$color=$_GET["color"];
$counter=$_GET["u"];
?>

var ref=document.referrer;
var js=true;
var cookieEnabled=(navigator.cookieEnabled)? true : false;
var depth=window.screen.colorDepth;
var res=window.screen.width+"x"+window.screen.height;

document.write("<a href='http://www.server.domain.de/pfad_zur_datei/stats.php?u=<? echo $counter; ?>'><img src='http://www.server.domain.de/pfad_zum_script/count.php?u=<? echo $counter; ?>&depth="+depth+"&res="+res+"&color=<? echo $color; ?>&cookie="+cookieEnabled+"&java="+js+"&ref="+ref+"' border='0'></a>");

Vielleicht hilft dir das weiter.

Ciao
Quaese
 

Neue Beiträge

Zurück