Soundcloud嵌入javascript错误:无法执行';createPattern';在';CanvasRenderingContext2D';:画布宽度为0

Soundcloud嵌入javascript错误:无法执行';createPattern';在';CanvasRenderingContext2D';:画布宽度为0,javascript,soundcloud,Javascript,Soundcloud,我从soundcloud嵌入的配置文件中得到一个未捕获的invalidstate错误(https://w.soundcloud.com/player/widget-6c3640e3.js & https://w.soundcloud.com/player/multi-sounds-0e392418.js)在我的网站上,它是由github.io托管的,并且是 我在模式弹出窗口中嵌入了两个soundcloud配置文件 <iframe width="35%" height="450" scr

我从
soundcloud嵌入的配置文件中得到一个未捕获的invalidstate错误(https://w.soundcloud.com/player/widget-6c3640e3.js & https://w.soundcloud.com/player/multi-sounds-0e392418.js)
在我的网站上,它是由github.io托管的,并且是

我在模式弹出窗口中嵌入了两个soundcloud配置文件

  <iframe width="35%" height="450" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/users/5142431&amp;color=ff5500&amp;auto_play=false&amp;hide_related=false&amp;show_comments=true&amp;show_user=true&amp;show_reposts=false"></iframe>

当我的站点被加载时,我会出现一些错误和延迟,不知道如何消除这个错误,并且想知道这是因为我在弹出窗口中嵌入了播放器,还是我需要以某种方式指定画布的大小


我完全不知所措,所以非常感谢所有的帮助

原因是将其加载到一个不可见的弹出窗口中。 因此,在iframe中调用soundcloud的js代码时,画布没有空间展开,因此其宽度为0

解决方案1:在弹出窗口显示后,使用jquery动态创建iframe。(假设您的站点使用jquery,而您在问题中提到的站点使用jquery)


解决方案2:让包含soundcloud帧的div在屏幕外渲染,然后将其移动到可见区域

可能问题在于,包含的
是一个灵活的
宽度
,没有
最小宽度

此错误的一个修复方法是将
宽度更改为
px
值,而不是%值,因为
的宽度由其内容决定

例如:

<iframe width="350px"...>

另一个修复方法是将包含%
宽度
设置为
px/vw