# externen HTML-Code einbinden



## skee (1. Februar 2015)

Hallo,
Ich biete meinen Kunden einen Service an, für den es notwendig ist, einen HTML-Block auf seiner Seite einzubinden.
In diesem Block befinden sich 2 JavaScript Dateien und ein Iframe mit einem dynamischen src-Link.
Ich suche nach einer Möglichkeit, diesen Code-Block für den Kunden so klein wie möglich zu halten.
Gibt es eine Möglichkeit, an einer bestimmten Stelle im HTML-Code des Kunden eine PHP-Datei zu includen, die dann wiederum die benötigten HTML-Codes bereit stellt und dann "inline" beim Kunden anzeigt?

Ich wäre um jeglichen Denkanstoß dankbar.

gruß
Skee


----------



## SpiceLab (2. Februar 2015)

Kurz und schmerzlos 

```
<body>
  ...
  <!-- gewünschte Stelle zum Includen -->
  <?php include 'pfad/zu/datei.php'; ?>
  ...
</body>
```
Dies funktioniert, wenn sich die PHP-Datei auf dem gleichen Webserver befindet. Andernfalls wird dies durch  die "Same-Origin-Policy" blockiert, sofern der Drittserver das "Cross-Origin Resource Sharing" nicht bereitstellt.
[edit]Links hinzugefügt[/edit]​


----------



## skee (2. Februar 2015)

Hach, wenn es doch nur so einfach wäre 
Also, es ist definitiv so, dass sich der Kunde auf einem anderen Webserver/Domain befindet. Des weiteren muss ich auch davon ausgehen, dass der Kunde evtl kein PHP verwendet.
Dann muss ich ihm wohl doch einfach den Code entsprechend mitteilen und er muss ihn einbinden.
Aber, um den Code evtl doch etwas schlanker zu machen:
Ich habe ja 2 JS-Libs. Eine eigene und 1 mal jQuery. Ist es irgendwie möglich, dass er nur meine js-Datei einbindet und ich in dieser dann die jQuery-Lib include?
Den Iframe würde ich dynamisch erzeugen, und dem Kunden nur ein Div mit einem bestimmten kurzen Namen einbinden lassen, in den ich dann den Iframe reinpacke. Das spart auch nochmal ein paar Zeichen.
Ist es evtl möglich, der js-Lib beim einbinden irgendwelche Parameter zu übergeben?

Und jetzt noch eine Frage, die evtl nicht ganz in das Forum gehört:
Ich habe es schon ab und zu mal festgestellt, dass wenn jemand schon jQuery im Head eingebunden hat und ich dann im Body nochmal jQuery einbinde, manche Funktionen, die jQuery verwenden, plötzlich nicht mehr funktionieren. Kann mir jemand sagen, warum?

Danke
Skee


----------



## SpiceLab (2. Februar 2015)

Wenn der Kunde kein PHP installiert hat, ist der Vorschlag obsolet.

Desweiteren wird der JS-Code wegen "SOP" nicht laufen. Es sei denn, es besteht "CORS".

Zu jQuery: die Bibliothek wird einmalig in das Dokument geladen. Ansonsten läuft das jQuery-Script nicht, sondern wird ein Fehler zurückgegeben. Dies war im JS-Forum schon diverse Male ein Thema.


----------



## skee (2. Februar 2015)

Aber das heißt, ich muss/kann auf meiner Seite CORS "erlauben" und dann kann vom Kunden auf mein Zeug zugegriffen werden? Wäre es dann auch möglich, über Server Side Includes html oder php Dateien einzubinden?

Wieso läuft das JS nicht? Kann ich nicht einfach eine js-Datei von einem anderen Server einbinden? Das macht man ja bei jQuery nicht anders... oder spielt auch hier CORS mit mit hinein?

Gruß
Skee


----------



## SpiceLab (2. Februar 2015)

Lies dir hierzu bitte mal meine beiden genannten Links durch:


SpiceLab hat gesagt.:


> [...] "Same-Origin-Policy" [...] "Cross-Origin Resource Sharing" [...]


----------



## skee (2. Februar 2015)

[X] gelesen und verstanden


----------



## SpiceLab (2. Februar 2015)

Fein


----------

