在我的网站上,我似乎只能在Chrome和Safari中播放播放列表中的曲目预览,即使我已登录Spotify Premium。但是,完整曲目可以在Firefox中播放。为什么会出现这种情况?
这是我的网站:www.studify.online
重现的步骤: 创建一个帐户并登录 点击"音乐背景噪音" 选择一个播放列表并播放
预期行为: 当用户登录时,Widget可以播放完整的歌曲。
实际行为: 小工具它只能播放Chrome和Safari中的歌曲预览。
以下是我的某个播放列表正在使用的示例网址。 https://open.spotify.com/embed?uri=spotify:user:1276120884:playlist:3lupJoO6PjahRjP3ehIUpq"
在localhost上运行时,整个曲目可以在任何浏览器中播放,但在heroku服务器上则无法播放。
我的iFrame HTML如下:
<iframe *ngIf="playlistSelected" [src]="embedURI" width="300" height="380" frameborder="0" allowtransparency="true" allow="encrypted-media"></iframe><div class="dropdown">
我控制此iFrame的angular2组件如下:
onPlaylistSelect(playlist) {
console.log(playlist);
this.selected = playlist;
this.embedURI = "https://open.spotify.com/embed?uri=" + this.selected.uri;
this.embedURI = this.urlbypassPipe.transform(this.embedURI);
console.log(this.embedURI);
this.playlistSelected = true;
}
这是我的urlbyassPipe类:
import { Pipe, PipeTransform } from '@angular/core';
import { DomSanitizer} from '@angular/platform-browser';
@Pipe({
name: 'urlbypass'
})
export class UrlbypassPipe implements PipeTransform {
constructor(private sanitizer: DomSanitizer) {}
transform(url) {
return this.sanitizer.bypassSecurityTrustResourceUrl(url);
}
}