2016-07-20 27 views
1

Ich habe an einem Projekt gearbeitet, wo ich Soundcloud-Songs einbetten muss. Alles funktioniert, wenn ich versuche, die Seite in Chrome zu öffnen, aber in Firefox zeigt es einfach eine graue Box mit dem Soundcloud-Logo in der Mitte.Soundcloud-Einbettungsprobleme in Firefox

Ich habe versucht, es zu debuggen, und hier ist, was ich in Firebug sehe. Wenn ich die Seite zu öffnen, heißt es

TypeError: this.getFlashPlugin(...).match(...) is null

und

Error: Permission denied to access property "href"

Ich habe jetzt seit 2 Tagen für sie gesucht, und ich kam fast zu einem Schluss, dass dies nicht egal, was, dann kam plötzlich eine jsfiddle url in das Suchergebnis und ich sah Soundcloud bettet gut in Firefox und Chrome.

, Jetzt ist hier die ursprüngliche jsfiddle url: http://fiddle.jshell.net/Peeters_William/kpkdnrts/

Was habe ich wurde mit dem exakt gleichen Code zu kopieren, einschließlich der HTML und Javascript Teil zu einem NEW jsfiddle Dokument, das hier gefunden werden kann: https://jsfiddle.net/etLwq8kv/

Ich bin buchstäblich ahnungslos: Warum arbeitet die erste Geige ohne Probleme und diese zweite weigert sich, die Songs einzubetten? Ich glaube, dass ich die exakt gleiche Kopie des ersten Codes haben und nach wie vor weigert sie angezeigt werden ..

Ich habe auch alle Einstellungen geändert ich auf der ersten Geige sah wie

  • CSS-Panel - > Normalized CSS
  • HTML-Panel -> Doctype: HTML5, Körper tag:
  • Javascript-Panel -> Sprache: Javascript, Frameworks: No-Libary (reine JS), Lastart: onLoad

Noch auch wenn ich es leugne dass die zwei Geigen die genauen Kopien sind, warum verweigert sich diese zweite, um richtig zu arbeiten?

Vielen Dank im Voraus und einen schönen Tag alle!

Antwort

2

Nachdem ich das Netzwerk auf einige Hinweise überprüft hatte, wurde mir klar, dass das Skript überhaupt nicht geladen wurde. Ich habe alles doppelt überprüft und festgestellt, dass sich die URL des Arbeitsbeispiels nicht nur durch die URL (https://jsfiddle.net10 und http://fiddle.jshell.net) sondern auch durch das Protokoll von Ihrem unterscheidet.

Im Arbeitsbeispiel war das Protokoll HTTP und damit auch die API von Soundcloud. Ihr Beispiel befand sich jedoch in einer gesicherten Verbindung und die Adresse der API war es nicht. Das erklärt die "Zugriff verweigert Eigenschaft href Nachricht."

Glücklicherweise bietet Soundcloud eine gesicherte Version der API. Ich habe dein Beispiel korrigiert, indem ich das Protokoll in HTTPS geändert habe und es hat angefangen zu arbeiten.

ändern HTTP-Protokoll

http://connect.soundcloud.com/sdk.js

zu HTTPS

https://connect.soundcloud.com/sdk.js

+1

Ich habe auch bemerkt, so etwas wie diese: Firefox neigt dazu, von Seiten über HTTPS geladen gesendet HTTP-Anfragen zu blockieren. Ein weiteres Problem, das Sie sich ansehen sollten, ist der HTTP-Zugriffssteuerungsursprung, der oft seltsame Probleme verursachen kann, wenn Seiten von anderen Seiten geladen werden. – TuringTux

+0

Vielen Dank! Habe es auf https geändert und es ist alles gut :) Antwort angenommen! – z3r0