Ja, weil es sich hier um ein "Include" handelt und nicht um eine eigene Seite. Es passiert folgendermaßen:
1. Der User besucht eine Seite; etwa http://www.eineWebsite.de/index.html -- also ohne GET-Variablen. Das ist die Adresse, die dann in die Adresszeile im Browser angezeigt wird.
2. Innerhalb dieser Seite steht dein <script>-Tag. Der Browser sendet dann eine Anfrage für boxer.js zusammen mit der GET-Variable ppid=123.
Was passiert? Ändert sich die URL in der Addresszeile? Nein, denn es wird nicht zu einer neuen Seite gewechselt, sondern ein Dokument wird geholt und eingefügt -- und das ist was anderes.
3. Der Server enthält bekommt die Anfrage und die Variable. Er findet boxer.js und stellt fest, er muss nichts damit machen, außer an den Browser zu schicken. Die Variable ppid=123 braucht er dafür nicht: boxer.js ist kein serverseitiges Skript, das auf dem Server ausgeführt wird, sondern ein Dokument, das unverändert ausgegeben werden soll.
4. Der Browser enthält das Skript und fügt es ein. Was steht in der URL? Immer noch dasselbe: der Browser hat nicht seite gewechselt. Die Variable hat er brav an den Server geschickt, aber jetzt hat er sie nicht mehr.
5. Das Skript läuft auf dem Browser. Es liest die in der Adresszeile stehende URL aus, nämlich http://www.eineWebsite.de/index.html -- und findet kein ? und kein ppid=123.
Wenn boxer.js nun diese Variable braucht, dann musst du es so machen:
Code:
<script type="text/javascript">
ppid=123;
</script>
<script type="text/javascript" src="boxer.js"></script>
...dann klappt's.