Ich habe lange überlegt, wo ich am besten diesen Thread platziere. Ich vermute es ist kein für Multimedia spezifisches Problem. Ich versuche es mal darzustellen.
Der Squeezeboxserver (LMS) hat auf seiner Website über dem Einschaltknopf eine Möglichkeit die gesamte Steuerung in ein gesondertes Fenster auszulagern. Der Link dahin ist bei mir http://192.168.2.14:9002/status_header.html?player=00:00:22:22:77:11 . Wenn ich diesen Link als URL eingebe, wird mir das Steuerungsfenster (abgesehen von der Größe) astrein und funktionsfähig in Firefox dargestellt.
Was liegt näher als sich diesen Frame in FHEM anzeigen zu lassen:
define web_SBT.Wz weblink iframe http://192.168.2.14:9002/status_header.html?player=00:00:22:22:77:11
Ergebnis: ich bekomme zwar ein Teil dargestellt, aber rudimentär und nicht funktionsfähig.
Dann habe ich mal nach der Fehlerquelle gesucht, und habe im JS-Monitor 3 Fehler gefunden, die mit dem Server zusammenhängen könnten.
Error: Permission denied to access property "SqueezeJS" js.html:42:1
Error: Permission denied to access property "toString" js.html:17:2646
TypeError: SqueezeJS.UI is undefined status_hea...:185:35
Beim letzten Fehler wird auf den Link verwiesen.
2. Versuch über FTUI gleichzeitig JS-Monitor mitlaufen lassen.
Hier kam der Fehler:
"Error trying to load http://192.168.2.14:9002/status_header.html?player=00:00:22:22:77:11:" error - jquery.min.js line 2 > eval:53:1
Quellübergreifende (Cross-Origin) Anfrage blockiert: Die Gleiche-Quelle-Regel verbietet das Lesen der externen Ressource auf http://192.168.2.14:9002/status_header.html?player=00:00:22:22:77:11. (Grund: CORS-Kopfzeile 'Access-Control-Allow-Origin' fehlt).
Einlesen in Google und dann im Webinterface
define WEB FHEMWEB 8083 global
das Attribut
attr WEB CORS 1
gesetzt. Restart.
Ergebnis: Keine Änderung.
1. Eine Zeile mit Access-Control-Allow-Origin finde ich nicht in den Webseiten (Sourcecode) aus dem 8083er Interface.
2. Kann es sein, dass im Server ebenfalls die Zeile eingetragen werden muss? Wenn ja wo und wie?
Ich bin mit meinem Latein am Ende, weil ich zu wenig über CORS weiß und das Gelesene nicht wirklich im Einzelnen kapiere.
Weiß jemand Rat?
Gruß Eberhard
anderen Browser probiert?
Gruß
Julian
Jetzt ja. 8) 8)
Mit IE: Ergebnis: kein Unterschied zum Firefox.
Schönen Abend
Eberhard
Hat denn Niemand einen Tipp für mich?
Gruß
Eberhard
Bald jährt sich dieses Thema bei mir. Leider hat sich bisher niemand zu diesem Thema gemeldet. Die Community hat sich inzwischen verändert: Sie ist größer geworden, das Gesammtwissen hat zugenommen und vielleicht ist das Thema für den Einen oder Anderen interessant geworden. Also viele Gründe dieses Thema nach vorne zu bringen.
Wer kann zu diesem Thema etwas beisteuern?
Viele Grüße Eberhard
Hallo,
Das Problem liegt bei CORS, es muss aber beim LMS aktiviert werden. Dazu gibt es hier (https://github.com/darren-gibson/SqueezeBoxExtensions) ein Plugin für den LMS.
Grüße,
ChrisD
Hi Chris,
Du hast meinen Tag gerettet. Es klappt. "Lustig" ist lediglich, dass die Dateien des Plugins nach dem Restart verschwinden; die Funktion aber übernommen wurden.
Vielen Dank an Dich.
Damit alle des Forum partizipieren können hier meine Implementierung:
Internals:
CFGFN
DEF iframe http://192.168.2.46:9002/status_header.html?player=00:04:20:aa:bb:cc
LINK http://192.168.2.46:9002/status_header.html?player=00:04:20:aa:bb:cc
NAME web_sb3.Bu
NR 125730
STATE initialized
TYPE weblink
WLTYPE iframe
Attributes:
htmlattr style="border-style: solid; border-width: 2px; border-radius: 11px; background-color: blue; width: 400px; height: auto; border-color: #287D17;"
room Squeezebox
Das Ergebnis ist unten zu sehen. Eine einfachere Minmalsteuerung einer Squeezebox kenne ich nicht. An den Hintergrund komme ich nicht dran, weil der vom LMS übermittelt wird. Den Rahmen drumrum hab ich ein wenig aufgehübscht. Die Höhe des Elementes ist auch bei mir zu flach gewesen, deshalb Höhe:auto. Die Breite wurde etwas vergrößert, damit die Steuerelemente einen gleichen Abstand zueinander haben.
Viele Grüße
Eberhard
Edit: Ich habe das Objekt an den Style dark angepasst. deshalb:
attr <sb-device> htmlattr style="box-shadow: 5px 5px 5px #000;border-style: solid; border-width: 1px; border-radius: 11px; width: 400px; height: 156px; border-color: #white;"
Hallo Eberhard,
danke, bin auf Deinen Beitrag eher zufällig gestoßen! Werde es mal einbauen bei Gelegenheit !
Gruß
Klaus