FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: CLS2018 am 29 Januar 2018, 21:56:31

Titel: [gelöst] Externes Javascript in Unterseiten wird nicht ausgeführt
Beitrag von: CLS2018 am 29 Januar 2018, 21:56:31
Hallo,

ich habe auf meiner TabletUI ein fertiges Wetter Widget von wetter.com eingebunden (https://www.wetter.com/apps_und_mehr/website/homepagewidget/).
Funktionierte prima.

<div class="gridster">
<ul>
<li data-row="1" data-col="3" data-sizex="4" data-sizey="4">
<header>Wetter Test</header>

<!-- Fertiger Code von Wetter.com -->
<div id="wcom-580964e4ea5372af1af2612bc63aebef" style="border: 1px solid rgb(57, 37, 37); background-color: rgb(202, 83, 83); border-radius: 5px; color: rgb(7, 93, 240);" class="wcom-default w300x250">
<link rel="stylesheet" href="//cs3.wettercomassets.com/woys/5/css/w.css" media="all">
<div class="wcom-city"><a style="color: rgb(7, 93, 240);" href="https://www.wetter.com/deutschland/berlin/DE0001020.html" target="_blank" rel="nofollow" title="Wetter Berlin">Wetter Berlin</a></div>
<div id="wcom-580964e4ea5372af1af2612bc63aebef-weather"></div>
<script type="text/javascript" src="//cs3.wettercomassets.com/woys/5/js/w.js" defer></script>
<script type="text/javascript">_wcomWidget({id: 'wcom-580964e4ea5372af1af2612bc63aebef',location: 'DE0001020',format: '300x250',type: 'spaces'});</script></div>

</li>
</ul>
</div>




Mit der Umstellung auf Unterseiten funktioniert der Aufruf des externen Scriptes nicht mehr.

<div class="gridster">
<ul>
<li data-row="1" data-col="1" data-sizex="1" data-sizey="5">
<div class="">

<div data-type="pagebutton" data-url="#page_content_wetter.html" data-load="#content_wetter"
data-off-background-color="transparent" data-off-color="#606060"
data-on-background-color="#606060" data-on-color="#222222"
data-active-pattern=".*#page_content_wetter.html"
data-icon="fa-sun-o"
class="top-space"></div>

</div>
</li>

<li data-row="1" data-col="2" data-sizex="9" data-sizey="5">
<div class="page" id="content_wetter"></div>
</li>
</ul>
</div>


Der Rahmen und die Überschrift des "Wetter.com-Codes" wird angezeigt, der Script-Aufruf wird ignoriert.

Hat jemand eine Idee

Vielen DANK
Titel: Antw:Externes Javascript in Unterseiten wird nicht ausgeführt
Beitrag von: Wiesel am 30 Januar 2018, 20:06:47
Hallo CLS2018,

vor dem gleichen Problem stand ich auch schon. Bei einer Suche hättest du eigentlich fündig werden müssen, da sich mein Titel nicht wesentlich von deinem unterscheidet.
Benutzt du Pagetab oder Pagebutton ?


Bei Pagebutton siehe Antwort von setstate in meinem Thread.

https://forum.fhem.de/index.php/topic,77261 (https://forum.fhem.de/index.php/topic,77261)

Grüße
Tobias
Titel: Antw:Externes Javascript in Unterseiten wird nicht ausgeführt
Beitrag von: CLS2018 am 04 Februar 2018, 13:14:17
Hallo Tobias,

vielen Dank für deine Antwort und sorry, dass ich deinen Eintrag nicht gefunden hatte.
Ich allerdings zugeben, dass mit das Finden nicht wirklich weitergeholfen hätte.

Ich verwendet (soviel ich weiß) keine Pagetab oder PageButton.

Ich muss auch gestehen, dass ich aktuelle nicht weiß wie ich die Lösung von setstate umsetzen sollte.

Für jede Hilfe offen.

cls2018
Titel: Antw:Externes Javascript in Unterseiten wird nicht ausgeführt
Beitrag von: setstate am 04 Februar 2018, 14:53:13
Man könnte den script Teil aus den Unterseiten auf die Hauptseite in den Header verlagern



<script type="text/javascript" src="lib/jquery.min.js"></script>
<script type="text/javascript" src="//cs3.wettercomassets.com/woys/5/js/w.js" defer></script>
<script type="text/javascript">
    $(document).on("changedSelection", function() {
        if (_wcomWidget && $('#wcom-580964e4ea5372af1af2612bc63aebef').length > 0) {
            _wcomWidget({
                id: 'wcom-580964e4ea5372af1af2612bc63aebef',
                location: 'DE0001020',
                format: '300x250',
                type: 'spaces'
            });
        }
    });

</script>

Titel: Antw:Externes Javascript in Unterseiten wird nicht ausgeführt
Beitrag von: CLS2018 am 04 Februar 2018, 23:11:58
Ich habe sowohl die Lösung mit dem IFrame sowie die Verlagerung des Skriptcodes erfolgreich getestet.
Setstates Lösung habe ich jetzt tatsächlich umgesetzt.

Vielen Dank für eure Unterstützung!

CLS2018
Titel: Antw:[gelöst] Externes Javascript in Unterseiten wird nicht ausgeführt
Beitrag von: AlpenFlizzer am 16 März 2019, 22:38:41
Hallo!

Uralter Thread, aber brandaktuelles Problem aus der selben Thematik....

Wie oben beschrieben, funktioniert das Ausführen der Skripte on.changedSelection prima, aber wie funktioniert das, wenn ich damit etwas in einem Popup Dialog bewirken will, das sich in irgendeiner Sub befindet? Das ist ja leider nicht im DOM Tree vorhanden bevor man zum ersten Mal klickt.

Ein mutationObserver auf body.append feuert leider nicht, wenn der Dialog dem body appended wird. (Bei jedem anderen DOM Element beim Pageload feuert er aber...)

Hat jemand eventuell eine Anregung oder gar eine Lösung für diese Aufgabe?

Danke!

Grüße,
Sascha