URL in script-Code übergeben?

Hallo,

habe folgende zwei Dateien:

show.html
[HTML]

[/HTML]

Und die passende file.php:
[HTML]
…erst was berechnen
document.write(‚HierWirdWasAusgegeben…‘);[/HTML]

Soweit passt das auch alles. Jetzt muss ich allerdings einen Parameter an die file.php übergeben. Wäre ja vom Prinzip dann einfach so:

[HTML]<!..

[/HTML] Allerdings ist dieser Wert eine URL, also beispielsweise http://www.google.de/datei.php ...

Demnach kann ich die ja nicht so einfach anhängen. Die müsste doch erst mit urlencode codiert werden, oder?

Also wie übergebe ich die hier am sinnvollsten? Gibts sonst ne Möglichkeit den Code so hinzubekommen(jetzt ma reiner Pseudocode der show.html:

[HTML]

[/HTML]

Danke

Wenn du als Js-Datei schon eine file.php verwendest, kannst du innerhalb der file.php natürlich auch das verwenden.

file.php?url=test

var urlParam = <?php (iseet($_REQUEST["url"]) ? $_REQUEST["url"] : ""; ?>
document.write(urlParam);

Gruß
Loon3y

Willkommen im Forum.

Ja, urlencode klingt doch gut, denke ich. Zu dem Pseudocode-Beispiel fällt mir gerade wenig ein.

Hi,

ne so is das nicht gemeint. Es geht darum, dass ich eine beliebige URL an die file.php übergeben möchte. Und damit muss ich ja, wie du so schön sagst ein http://domain.dE/file.php?url=test aufrufen. Denn dann kann ich dort einfach die url per get auslesen.
Aber das kann ich ja nicht machen, da test eben auch ne Domain ist. Also ich würde dann sowas hier aufrufen:

http://domain.de/filephp?url=http://anderedomain.de/datei.endung

Und das is ja keine korrekte URL. Demnach muss ich ja den hinteren Teil vorher irgendwie durch urlencode laufen lassen. Aber wenn ich einfach nehme, kann ich das ja nicht machen.

PHP: urlencode - Manual

Hi…ja in php möchte ich es aber nicht ändern, sondern das muss in dem javascript-Einbau erfolgen.
Denn möchte das später an mehrere Stellen einsetzen können, die teilweise auch kein php aufweisen. Deswegen muss das im Javascript erfolgen.

Dazu kannst du z.b. das verwenden SELFHTML: JavaScript / Objektreferenz / Objektunabhngige Funktionen

Hi, ja an sich ja kein Problem wie ich das in Javascript mache, aber die Frage ist an welcher Stelle. Denn das ist ja mein Code hier:

[HTML]

[/HTML]

Aber wie muss jetzt der
[/HTML]

…:roll:

Nein, natürlich nicht im HTML Code, du musst das Script-Tag in deinem Fall mit JS zusammenbauen oder eben den Wert vorher von Hand escapen und dann in deinen HTML Code kopieren. Aber nur mit HTML kommst du nicht weiter, da HTML keine Programmiersprache ist.

Ja genau darum gehts „du musst das Script-Tag in deinem Fall mit JS zusammenbauen“. Nur wie? Also wie schaff ich es mit JS das Ding so zusammenzusetzen und dann noch aufzurufen?

Danke

Sofern ich das nicht wieder falsch verstehe, ist wohl gemeint, dass via JavaScript das HTML-Tag mit den dazugehörigen Attributen erstellt werden muss.

var script = document.createElement("script");    // erstellt ein <script>-Tag
script.type = "text/JavaScript";                        // setzt type="text/JavaScript"
script.src = "file.php?url=usw.usf.";                   // setzt src="file.php?url=usw.usf.

var body = document.getElementsByTagName("body")[0];   // das <body>-Tag "holen"
body.appendChild(script);                               // das <script>-Tag an den Body hängen 

Gruß
Loon3y

In dem Fall ist auch document.write möglich und durchaus empfehlenswert, da in dem Fall nicht gewartet werden muss das document.body schon zu Verfügung steht

Was hast du denn versucht?

Achso…ja mein Versuch war der hier:

[HTML]

'); [/HTML]

Du musst das Skriptende maskieren

<\/script>

Und in HTML gehören alle Attribute in Anführungszeichen (ausser Zahlen)

EDIT: und das type Attribut fehlt, falls du nicht HTML5 verwendest

Das heißt dann so?

[HTML]

[/HTML]

Weißt du wo du in deinem Browser die JS Fehlermeldungen findest?
(Wenn nicht such mal danach)
Und dann les noch mal das was ich dir verlinkt habe