通过手动api通话获取Vimeo视频时长

时间:2014-04-22 15:01:16

标签: javascript json iframe vimeo postmessage

我只想获得vimeo视频的持续时间。我不想使用froogaloop。

API声明:“您通过发送带有postMessage()的序列化JSON对象与播放器进行交互。应使用以下格式:{”method“:”methodName“,”value“:” value“}如果方法不需要值,则省略值键。”

我尝试了这段代码:

*$wrapper.find('#parpap')[0].contentWindow.postMessage(JSON.stringify('method', 'getDuration'));*

Firefox告诉我: NS_ERROR_XPC_NOT_ENOUGH_ARGS:参数不足[nsIDOMWindow.postMessage]

Chrome告诉我:无法在'Window'上执行'postMessage':在调用'postMessage'时无效的目标来源'。

Safari告诉我:[错误]语法错误:DOM异常12:指定了无效或非法字符串。 fixVideoSize

有人有什么建议吗?谢谢。 :)

1 个答案:

答案 0 :(得分:0)

错误的原因是JSON.stringify将单个值转换为json字符串(字符串,数字,对象或数组),而是将两个字符串传递给它。你应该做的是组成一个这样的对象:

$wrapper.find('#parpap')[0].contentWindow.postMessage(
  JSON.stringify(
  {
    'method': 'getDuration'
  }
));

了解Mozilla Developer Network

上有关JSON.stringify的更多信息