• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

URL in script-Code übergeben?

BartTheDevil89

Neues Mitglied
Hallo,

habe folgende zwei Dateien:

show.html
HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body>
<script src="http://www.domain.de/test/file.php"></script>
</body>
</html>

Und die passende file.php:
HTML:
...erst was berechnen
document.write('HierWirdWasAusgegeben...');

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:
<!....
<script src="http://www.domain.de/test/file.php?url=IchBinEinWert"></script>
</body>
</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:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body>
<script type="text/javascript">
var url = "HierDieUrlRein";
url = encodeURI(url);
load(http://www.domain.de/test/file.php?domain=HierJetztURLeinfügen);
</script>
</body>
</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
Code:
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 <script src=...> einfach nehme, kann ich das ja nicht machen.
 

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:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body>
<script src=http://www.domain.de/test/file.php?domain=http://www.domain.de/datie.html></script>
</body>
</html>

Aber wie muss jetzt der <script>-Code aussehn? Denn so gehts ja nicht einfach:

HTML:
<script src=http://www.domain.de/test/file.php?domain=escape(http://www.domain.de/datie.html)></script>

....: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.
 
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
 
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 <script> mit den dazugehörigen Attributen erstellt werden muss.

Code:
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
 
Achso...ja mein Versuch war der hier:

HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body>
<script type="text/javascript">
var url = "HierDieUrlRein";
url = encodeURI(url);
document.write('<script src=http://www.domain.de/test/file.php?domain=' + url +' ></script>');
</script>
</body>
</html>
 
Du musst das Skriptende maskieren
Code:
<\/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:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body>
<script type="text/javascript">
var url = "HierDieUrlRein";
url = encodeURI(url);
document.write('<script type="text/javascript" src="http://www.domain.de/test/file.php?domain=' + url +'"><\/script>');
</script>
</body>
</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
 
Zurück
Oben