diff options
Diffstat (limited to 'src/client/JsApi.hx')
| -rw-r--r-- | src/client/JsApi.hx | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/src/client/JsApi.hx b/src/client/JsApi.hx index b576b47..3b4777a 100644 --- a/src/client/JsApi.hx +++ b/src/client/JsApi.hx @@ -58,8 +58,9 @@ class JsApi { @:expose static function hasScriptInHead(url:String):Bool { + final abs = new js.html.URL(url, document.baseURI).href; for (child in document.getElementsByTagName("head")[0].children) { - if ((child : Dynamic).src == url) return true; + if ((child : Dynamic).src == abs) return true; } return false; } @@ -73,9 +74,10 @@ class JsApi { } @:expose - static function addVideoItem(url:String, atEnd:Bool, isTemp:Bool, ?callback:() -> - Void, doCache = false):Void { - main.addVideo(url, atEnd, isTemp, doCache, callback); + static function addVideoItem( + url:String, atEnd:Bool, isTemp:Bool, ?afterSend:() -> Void, doCache = false + ):Void { + main.addVideo(url, atEnd, isTemp, doCache, afterSend); } @:expose @@ -164,14 +166,16 @@ class JsApi { } public static function fireEvents(event:WsEvent):Void { - for (listener in onListeners.reversed()) { + final listeners = onListeners.copy(); + for (listener in listeners.reversed()) { if (listener.type != event.type) continue; listener.callback(event); } - for (listener in onceListeners.reversed()) { + final onces = onceListeners.copy(); + for (listener in onces.reversed()) { if (listener.type != event.type) continue; - listener.callback(event); onceListeners.remove(listener); + listener.callback(event); } } |
