我有一个名为“播放器”的服务,当 Flash 对象完成加载时,我需要更新该服务。
mySongPlayer.factory('player', function() {
var isPlayerLoaded = false;
var playerHolder = '';
window.playerReady = function(thePlayer) {
playerHolder = window.document[thePlayer.id];
addListeners();
isPlayerLoaded = true;
}
var flashvars = {
file:"",
autostart:"true",
skin: "/skins/glow/glow.zip",
}
var params = {
allowfullscreen:"false",
allowscriptaccess:"always"
}
var attributes = {
id:"player1",
name:"player1"
}
swfobject.embedSWF("/player.swf", "player_placeholder", "100%", "40", "9.0.115", false, flashvars, params, attributes);
var playObj;
return playObj || (playObj = {
currentId: 'test', currentUrl: 'url', playerHolder: ''
});
});
我知道如何使用
angular.element(DOMElement).injector().get('player')
但它返回一个新的“播放器”实例,而我需要更新模块中已经创建的实例。有没有办法做到这一点?我只想要一个播放器实例,但我需要从外部 javascript 初始化它。