cool... added a link to this post from the flashobject page and from the
expressinstall post on my blog.
http://blog.deconcept.com/2005/08/13/using-flash-player-express-install-with-flashobject/
Carlos Rovira wrote:
Ok Geoff,
It seems that all is working ok now : )
Here is the correct workflow:
-----------------------------------------------------------------------------------
if (_root.MMplayerType == undefined) {
// --- upgrade don't needed
gotoAndPlay(2);
} else {
stop();
var updater:MovieClip;
var hold:MovieClip;
loadUpdater = function() {
System.security.allowDomain("fpdownload.macromedia.com");
updater = _root.createEmptyMovieClip("expressInstallHolder",
10000000);
updater.installStatus = installStatus;
hold = updater.createEmptyMovieClip("hold", 1);
updater.onEnterFrame = function() {
if (typeof hold.startUpdate == 'function') {
loadInit();
delete this.onEnterFrame;
}
}
var cacheBuster = Math.random();
hold.loadMovie("http://fpdownload.macromedia.com/pub/flashplayer/update/current/swf/autoUpdater.swf?"+cacheBuster);
}
loadInit = function() {
hold.redirectURL = _root.MMredirectURL;
hold.MMplayerType = _root.MMplayerType;
hold.MMdoctitle = _root.MMdoctitle;
hold.startUpdate();
}
installStatus = function(statusValue) {
if (statusValue == "Download.Complete") {
// Installation is complete. In most cases the browser window that this SWF
// is hosted in will be closed by the installer or manually by the end user
} else if (statusValue == "Download.Cancelled") {
// The end user chose "NO" when prompted to install the
new player
// by default no User Interface is presented in this case. It is left up to
// the developer to provide an alternate experience in this case
// feel free to change this to whatever you want, js
errors are
sufficient for this example
getURL("javascript:alert('This content requires a more
recent
version of the Macromedia Flash Player.')");
} else if (statusValue == "Download.Failed") {
// The end user failed to download the installer due to
a network failure
// by default no User Interface is presented in this case. It is left up to
// the developer to provide an alternate experience in this case
// feel free to change this to whatever you want, js
errors are
sufficient for this example
getURL("javascript:alert('There was an error in
downloading the
Flash Player update. Please try again later, or visit macrmedia.com to
download the latest version of the Flash plugin.')");
}
}
// --- Start upgrade
loadUpdater();
}
-----------------------------------------------------------------------------------------
It would be great if you post in your website, because this script
could be of interest for many people that not uses export in first
frame
Many thanks : )
C.
2005/8/29, Carlos Rovira <[EMAIL PROTECTED]>:
Ahhh!, I understand now...
It seems that my modification must to be revised...
I post it asap I'll have a correct workflow.
Thanks : )
C.
2005/8/29, Geoff Stearns <[EMAIL PROTECTED]>:
the updater should only load if the user needs to upgrade..
if you have the latest version of the player and still try to load the
updater, it will stall and you'll see the text field there.
if you have 8.0.15 player installed and the updater is still loading,
there's something wrong with the script - it should only try to load the
updater if you need to upgrade your flash player.
Carlos Rovira wrote:
Hi Geoff,
Thanks for your response.
I didn't test the class version, because currently i'm not using any
proyect without a preloader a loading content after frame 1. For this
reason I can't figure if in that case the residual TextField issue
happen or no.
I test my script modification of your class in two proyects and
*seems* to work ok, but I notice the strange Textfield there. You can
go and test if have it. It must be empty and positioned near top-left.
But you notice that there's something there because you get your
cursor changed to the textfield cursor and all things below it can't
get focus through your mouse.
For this reason I *must* unload the updater. This removes the TextField.
Thanks again Geoff for your solution : ).
C.
2005/8/29, Geoff Stearns <[EMAIL PROTECTED]>:
i think your solution to the class export issue is fine.
You shouldn't need to unload the updater movie..
once the update is done, you have to either quit the browser or close
the window anyway, or if they cancel the upgrade, they wouldn't have a
new enough flash player to see your content anyway.
Carlos Rovira wrote:
Another thing I must to do in order to remove a strange TextField that
appears above all other objects in my application is the following:
updater.unloadMovie();
you can write this line in a frame after the first.
2005/8/28, Carlos Rovira <[EMAIL PROTECTED]>:
Hi list,
I'm looking to use the ExpressInstall feature with Geoff's FlashObject
in a fla that preload content and is set to export classes in frame 5.
As Geoff explain, you must to use the ExpressInstall class and insert
a little snippet in frame 1, but in my case I can't use classes before
frame 5.
I want to ask you if you know an alternative form or some easy
workaround for this.
btw, I convert the class to a script and it's working for me, but I
want to know is there some easy way.
Here is my solution (a conversion of the Geoff's class):
Put the following script in frame one and let your classes to export
in another frame than one:
-------------------------------------
stop();
if (_root.MMplayerType == undefined) {
gotoAndPlay(2);
}
var updater:MovieClip;
var hold:MovieClip;
loadUpdater = function() {
System.security.allowDomain("fpdownload.macromedia.com");
updater = _root.createEmptyMovieClip("expressInstallHolder", 10000000);
updater.installStatus = installStatus;
hold = updater.createEmptyMovieClip("hold", 1);
updater.onEnterFrame = function() {
if (typeof hold.startUpdate == 'function') {
loadInit();
delete this.onEnterFrame;
}
}
var cacheBuster = Math.random();
hold.loadMovie("http://fpdownload.macromedia.com/pub/flashplayer/update/current/swf/autoUpdater.swf?"+
cacheBuster);
}
loadInit = function() {
hold.redirectURL = _root.MMredirectURL;
hold.MMplayerType = _root.MMplayerType;
hold.MMdoctitle = _root.MMdoctitle;
hold.startUpdate();
}
installStatus = function(statusValue) {
if (statusValue == "Download.Complete") {
// Installation is complete. In most cases the browser window that
this SWF
// is hosted in will be closed by the installer or manually by the
end user
} else if (statusValue == "Download.Cancelled") {
// The end user chose "NO" when prompted to install the new player
// by default no User Interface is presented in this case. It is
left up to
// the developer to provide an alternate experience in this case
// feel free to change this to whatever you want, js errors are
sufficient for this example
getURL("javascript:alert('This content requires a more recent
version of the Macromedia Flash Player.')");
} else if (statusValue == "Download.Failed") {
// The end user failed to download the installer due to a network
failure
// by default no User Interface is presented in this case. It is
left up to
// the developer to provide an alternate experience in this case
// feel free to change this to whatever you want, js errors are
sufficient for this example
getURL("javascript:alert('There was an error in downloading the
Flash Player update. Please try again later, or visit macrmedia.com to
download the latest version of the Flash plugin.')");
}
}
loadUpdater();
--------------------------------------------
If you know some other way, I'll like to hear about it
Best,
--
::| Carlos Rovira
::| http://www.carlosrovira.com
_______________________________________________
osflash mailing list
[email protected]
http://osflash.org/mailman/listinfo/osflash_osflash.org
_______________________________________________
osflash mailing list
[email protected]
http://osflash.org/mailman/listinfo/osflash_osflash.org
--
::| Carlos Rovira
::| http://www.carlosrovira.com
_______________________________________________
osflash mailing list
[email protected]
http://osflash.org/mailman/listinfo/osflash_osflash.org