0

我正在尝试通过 Deezer JS sdk 设置画布高度。

我正在使用以下代码:

DZ.ready(function() {
    DZ.deezer.setCanvasSize(1400); // no problem, DZ.deezer.setCanvasSize is existent
});

问题是,setCanvasSize 函数使用对名为“app”的对象的引用。应用程序似乎在 deezer 页面的上下文中(但我的应用程序在它自己的 iframe 中运行)。当我尝试在我的 chrome 浏览器的 JS 控制台中调用代码时,它按预期工作。

但是当我从我的应用程序运行代码时,会抛出以下错误:

app is not defined dz.js:60
ReferenceError: app is not defined
     at Object.DZ.deezer.setCanvasSize (http://cdn-files.deezer.com/js/min/dz.js:68:258)
     at eval (eval at <anonymous> (https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js:1:15535), <anonymous>:827:15)
     at Object.DZ.Event.resolve (http://cdn-files.deezer.com/js/min/dz.js:52:271)
     at Array.2 (http://cdn-files.deezer.com/js/min/dz.js:140:10)
     at Object.DZ.Event.triggerEvent (http://cdn-files.deezer.com/js/min/dz.js:55:342)
     at Object.DZ.player.onLoad (http://cdn-files.deezer.com/js/min/dz.js:133:10)
     at DZ.onDeezerLoaded (http://cdn-files.deezer.com/js/min/dz.js:7:52)
     at DZ.communication.receive (http://cdn-files.deezer.com/js/min/dz.js:99:1) 

关于如何解决这个问题的任何想法?

4

1 回答 1

2

您应该使用该DZ.canvas对象,而不是DZ.deezer如下:

// Set inApp size
DZ.canvas.setSize(1400);

如果你想动态设置大小使用(加载 jQuery):

// Set inApp size
DZ.canvas.setSize($(document.body).height());
于 2013-05-11T08:02:46.583 回答