nnnjjj123
2020-11-17 1b2c1edb61190eeb19f465ff031eaa3b2a1b8dbc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/**
 * Based on the expressinstall.as class created by Geoff Stearns as part
 * of the FlashObject library.
 *
 * Use this file to invoke the Macromedia Flash Player Express Install functionality
 * This file is intended for use with the FlashObject embed script. You can download FlashObject 
 * and this file at the following URL: http://blog.deconcept.com/flashobject/
 *
 * Usage: 
 *          var ExpressInstall = new ExpressInstall();
 *          
 *          // test to see if install is needed:
 *          if (ExpressInstall.needsUpdate) { // returns true if update is needed
 *              ExpressInstall.init(); // starts the update
 *          }
 *
 *    NOTE: Your Flash movie must be at least 214px by 137px in order to use ExpressInstall.
 *
 */
 
class ExpressInstall{
    public var needsUpdate:Boolean;
    private var updater:MovieClip;
    private var hold:MovieClip;
    
    public function ExpressInstall(){
        // does the user need to update?
        this.needsUpdate = (_root.MMplayerType == undefined) ? false : true;    
    }
 
    public function init():Void{
        this.loadUpdater();
    }
 
    public function loadUpdater():Void{
        System.security.allowDomain("fpdownload.macromedia.com");
 
        // hope that nothing is at a depth of 10000000, you can change this depth if needed, but you want
        // it to be on top of your content if you have any stuff on the first frame
        this.updater = _root.createEmptyMovieClip("expressInstallHolder", 10000000);
 
        // register the callback so we know if they cancel or there is an error
        var _self = this;
        this.updater.installStatus = _self.onInstallStatus;
        this.hold = this.updater.createEmptyMovieClip("hold", 1);
 
        // can't use movieClipLoader because it has to work in 6.0.65
        this.updater.onEnterFrame = function():Void {
            if(typeof this.hold.startUpdate == 'function'){
                _self.initUpdater();
                this.onEnterFrame = null;
            }
        }
 
        var cacheBuster:Number = Math.random();
 
        this.hold.loadMovie("http://fpdownload.macromedia.com/pub/flashplayer/"
                                                +"update/current/swf/autoUpdater.swf?"+ cacheBuster);
    }
 
    private function initUpdater():Void{
        this.hold.redirectURL = _root.MMredirectURL;
        this.hold.MMplayerType = _root.MMplayerType;
        this.hold.MMdoctitle = _root.MMdoctitle;
        this.hold.startUpdate();
    }
 
    public function onInstallStatus(msg):Void{
        getURL("javascript:dojox.flash.install._onInstallStatus('"+msg+"')");
    }
}