[英]google closure compiler && audio event
我有以下代碼:(無需編譯,一切正常
var audio = new Audio("audio.ogg");
goog.events.listen(audio, 'timeupdate', function(e){
錯誤
actual parameter 1 of goog.events.listen does not match formal parameter
>> found : Audio
>> required: (EventTarget|goog.events.Listenable|null)
>> goog.events.listen(this.audio.singing, 'timeupdate', function(e){
我的外部
/**
* @param {string=} src
* @constructor
*/
var Audio = function(src) {};
Audio.prototype.play = function() {};
我該如何編譯內部事件? 謝謝
您當然應該嘗試擴大您的外部定義:
goog.require('goog.events.EventTarget');
/**
* @param {string=} src
* @constructor
* @extends {EventTarget}
*/
var Audio = function(src) {};
Audio.prototype.play = function() {};
因此,事實證明您的問題已在Closure Compiler代碼庫中得到解決,然后還原了該修復程序。 在此處查看更改日志 。
我在下面復制了該提交的相關部分:
/**
* @param {string=} src address of the media resource (a URL)
* @constructor
* @extends {HTMLAudioElement}
* @see http://www.w3.org/html/wg/drafts/html/master/embedded-content-0.html#the-audio-element
*/
var Audio = function(src) {};
Closure編譯器提供了extern,應將其添加到externs列表中
https://github.com/google/closure-compiler/wiki/Externs-For-Common-Libraries
帶有音頻API的那個稱為html5或類似的名稱
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.