Benötige Hilfe

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>
 
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.
 
Das liegt wohl an der Zeile 249/250:
Javascript:
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).
 
Das liegt wohl an der Zeile 249/250:
Javascript:
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).
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 🙂
 
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.
 
Zuletzt bearbeitet:
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.
 
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....
 
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.
 

Zurück
Oben