# Benötige Hilfe



## thomasschnitzenbaumer (24. Sep 2019)

Hallo zusammen.

Brauche dringend Hilfe. Für eine Seite zur Vermietung von Ferienwohnungen würde ich gerne mehrere "Belegungskalender" den entsprechenden Wohnungen anzeigen. Leider hab ich das Problem, dass das Script wohl zu oft ausgeführt wird bzw. Wohnung 1 - 9 mal angezeigt wird, Wohnung 2 - 8 mal usw. ( Wohung 9 - wird dann 1 mal angezeigt). 

Bin mir nicht sicher ob mein Post hier überhaupt richtig ist aber wäre super wenn mir wer helfen könnte.

Hier der entsprechende Code, den mir der Touren und Reiseanbieter zur Verfügung gestellt hat.

Kann ich das evtl mit einer Funktion lösen, die erst wohnugn 1 läd - dann wohnung 2 etc.

Danke für die Hilfe.


Wohnung: 1
ID: 152327

<div class="iw-bookingwidget"></div> <script id="iw-bookingwidgetScript" type="text/javascript" src="https://www.buchen.travel/shared/_expo/js-scripts/jquery.responsiveIframeComplete.js" data-room="152327" data-onlythisroom="1" data-interfaceid="79991" data-cal="only" data-url="https://bookingwidget.im-web.de" ></script>



Wohnung: 2
152328

<div class="iw-bookingwidget"></div> <script id="iw-bookingwidgetScript" type="text/javascript" src="https://www.buchen.travel/shared/_expo/js-scripts/jquery.responsiveIframeComplete.js" data-room="152328" data-onlythisroom="1" data-interfaceid="79992" data-cal="only" data-url="https://bookingwidget.im-web.de" ></script>


Wohnung: 3
152329

<div class="iw-bookingwidget"></div> <script id="iw-bookingwidgetScript" type="text/javascript" src="https://www.buchen.travel/shared/_expo/js-scripts/jquery.responsiveIframeComplete.js" data-room="152329" data-onlythisroom="1" data-interfaceid="79993" data-cal="only" data-url="https://bookingwidget.im-web.de" ></script>

Wohnung: 4
152330

<div class="iw-bookingwidget"></div> <script id="iw-bookingwidgetScript" type="text/javascript" src="https://www.buchen.travel/shared/_expo/js-scripts/jquery.responsiveIframeComplete.js" data-room="152330" data-onlythisroom="1" data-interfaceid="79994" data-cal="only" data-url="https://bookingwidget.im-web.de" ></script>


Wohnung: 5
152331


<div class="iw-bookingwidget"></div> <script id="iw-bookingwidgetScript" type="text/javascript" src="https://www.buchen.travel/shared/_expo/js-scripts/jquery.responsiveIframeComplete.js" data-room="152331" data-onlythisroom="1" data-interfaceid="79995" data-cal="only" data-url="https://bookingwidget.im-web.de" ></script>


Wohnung: 6
152332


<div class="iw-bookingwidget"></div> <script id="iw-bookingwidgetScript" type="text/javascript" src="https://www.buchen.travel/shared/_expo/js-scripts/jquery.responsiveIframeComplete.js" data-room="152332" data-onlythisroom="1" data-interfaceid="79996" data-cal="only" data-url="https://bookingwidget.im-web.de" ></script>


Wohnung: 7
104081


<div class="iw-bookingwidget"></div> <script id="iw-bookingwidgetScript" type="text/javascript" src="https://www.buchen.travel/shared/_expo/js-scripts/jquery.responsiveIframeComplete.js" data-room="104081" data-onlythisroom="1" data-interfaceid="79997" data-cal="only" data-url="https://bookingwidget.im-web.de" ></script>


Wohnung: 8 
104080


<div class="iw-bookingwidget"></div> <script id="iw-bookingwidgetScript" type="text/javascript" src="https://www.buchen.travel/shared/_expo/js-scripts/jquery.responsiveIframeComplete.js" data-room="104080" data-onlythisroom="1" data-interfaceid="79998" data-cal="only" data-url="https://bookingwidget.im-web.de" ></script>


----------



## Xyz1 (24. Sep 2019)

wtf ist das?


----------



## kneitzel (24. Sep 2019)

Hast du mal probiert das div nur ein einziges mal zu setzen und bei den Wohnungen 2-9 dann nur noch das script tag?

Ansonsten hat das nichts mit Java zu tun und ist hier definitiv falsch ... aber @mrBrown wird das schon entsprechend verschieben.


----------



## looparda (24. Sep 2019)

Das liegt wohl an der Zeile 249/250:

```
jQuery('<iframe id="iw-bookingwidgetIframe" src="'+iwVarUrl+"?"+iwIframeUrl+'"  scrolling="no" style="width: 100%; padding: 0px; margin: 0px auto; border: medium none; display: block; overflow: hidden; min-height: 365px;"></iframe>')
             .appendTo('.iw-bookingwidget');
```
.iw-bookingwidget nutzt du 9 Mal - sollte jedoch einmalig sein (also auf jeden fall eine id).


----------



## kneitzel (24. Sep 2019)

looparda hat gesagt.:


> Das liegt wohl an der Zeile 249/250:
> 
> ```
> jQuery('<iframe id="iw-bookingwidgetIframe" src="'+iwVarUrl+"?"+iwIframeUrl+'"  scrolling="no" style="width: 100%; padding: 0px; margin: 0px auto; border: medium none; display: block; overflow: hidden; min-height: 365px;"></iframe>')
> ...


Ach je, Du hast dir das Script sogar angesehen ... Das war mir schon zuviel - ich habe da erst einmal nur vermutet und geraten. Aber das bestätigt es dann ja


----------



## Xyz1 (24. Sep 2019)

looparda hat gesagt.:


> Das liegt wohl an der Zeile 249/250


Wo bitte soll das stehen? Es ist eine Farce einen Fehler in einem nicht vorhanden Code zu suchen... Ich fühle mich etwas beleidigt.


----------



## looparda (24. Sep 2019)

Naja im Thread ist nur eine Quelle, nämlich https://www.buchen.travel/shared/_expo/js-scripts/jquery.responsiveIframeComplete.js , zu erkennen. Offensichtlich handelt es sich um Javascript. Kombiniert mit dem HTML kann man das Problem nachvollziehen. Man muss jedoch beachten, dass da jemand live "arbeitet" und den Code verändert und sich somit das Verhalten über das wir sprechen wollen sich jeder Zeit ändern kann.


----------



## thomasschnitzenbaumer (24. Sep 2019)

Puh das heisst für mich ich hab keine chance auf einer Seite mehrere Belegungspläne anzuzeigen? Am JS Quellcode kann ich ja leider nichts ändern.


----------



## kneitzel (24. Sep 2019)

Doch, die Lösung wurde doch bereits beschrieben:

Diesen div (`<div class="iw-bookingwidget"></div>`) darfst du nur ein einziges Mal haben.
Die ganzen script tags lässt Du einfach, so wie sie halt jetzt sind.

Dann sollte es klappen. Zumindest ist es einen Versuch wert.

Edit: Also den ersten div lässt Du drin, die folgenden nimmst Du raus.


----------



## thomasschnitzenbaumer (24. Sep 2019)

Mhmm jetzt läd er halt den Belegungsplan von Wohnung 1 ganze 9 mal und weiter passiert nichts


----------



## kneitzel (24. Sep 2019)

Ok, das liegt daran, dass er immer die gleiche id im script tag hat und daher lädt er da immer die gleiche Wohnung. Stellt sich nur die Frage, wieso er vorher überhaupt noch andere Wohnungen geladen hat ...

Also eine Lösung wäre hier jetzt:
- lade das Script, welches referenziert wird, herunter und speichere es 9 mal (also das jquery.responsiveIframeComplete.js als jquery.responsiveIframeComplete1.js, jquery.responsiveIframeComplete2.js, ..., jquery.responsiveIframeComplete9.js speichern.
- Dann editierst Du jede Datei und ersetzt das Vorkommen von #iw-bookingwidgetScript mit #iw-bookingwidgetScript1 bzw. #iw-bookingwidgetScript2, ... (je nach Datei).
- Dann passt Du die <script> tags an, so dass er die Scripte nicht mehr von https://www.buchen.travel/shared/_expo/js-scripts/jquery.responsiveIframeComplete.js  lädt sondern von ./jquery.responsiveIframeComplete1.js, ./jquery.responsiveIframeComplete2.js, ...
- Weiterhin passt Du die id="#iw-bookingwidgetScript" an zu id="#iw-bookingwidgetScript1", ....

Dann ist natürlich wichtig, dass die Scripte bei Deiner Webseite liegen müssen. Evtl. packst Du diese auch in ein Verzeichnis Deiner Wahl und passt dann die URL entsprechend an also z.B. src="https://meine-tolle-url.de/js/jquery.responsiveIframeComplete1.js". Wichtig ist halt, dass die Scripte geladen werden können ...

Oder wenn man eh schon so rumbastelt, dann packt man evtl. alles in das js Script und passt es an. Dann hast Du nur noch ein <script> tag ohne Parameter und die Werte sind alle in dem Script. Aber das jetzt so anzupassen habe ich kein Bock drauf....


----------



## looparda (24. Sep 2019)

Ist die lib überhaupt geeignet? Man muss ja Kontrolle über die einzubettende Seite haben, um allowResponsiveEmbedding aufzurufen. Naja vielleicht lässt sich das über den DOM auch irgendwie injizieren.


----------

