Not signed in (Sign In)

Vanilla 1.0.3 is a product of Lussumo. More Information: Documentation, Community Support.

    • CommentAuthorMSFT
    • CommentTimeJan 30th 2007 edited
     
    IE Mobile is the browser on Windows Mobile Pocket PC phones. We noticed that Youtube.com uses you guys and that they seem to be having sporadic issues with detecting Adobe Flash Player 7 support on IE Mobile. We already pinged Youtube.com. We think that their server-side code is out of sync across their web-farm and thus the sporadic nature of the Flash issues.

    We are not entirely sure that the detection issue is on your side or in the way they implemented your code. But I did notice that we are not listed as a supported browser. Please add us as a supported browser and make a ton of Mobile Phone users happy.

    IE Mobile Team Blog:
    User Agent Update-- http://blogs.msdn.com/iemobile/archive/2006/08/03/Detecting_IE_Mobile.aspx
    Flash Issues-- http://blogs.msdn.com/iemobile/archive/2006/12/18/why-doesn-t-adobe-flash-always-render-for-ie-mobile.aspx

    Thanks,
    The IE Mobile Team
    • CommentAuthorGeoff
    • CommentTimeJan 30th 2007
     
    I'd be happy to add support to the script, but i'd like some more info if you have time:

    - Is it safe to assume that all devices that run IE mobile support flash player 7?

    - Is there a way to specifically detect the player version that is installed in the ie mobile browser?


    currently swfobject uses javascript (no vbscript) to create an activex object and then queries this object for the player version information. your blog post doesn't explain how the plugin architecture works, but since it uses activex, maybe this method will still work?

    feel free to shoot me an email at geoff at deconcept dot com (or just reply here, as i'm sure other people would be interested in this info in the future) if you want to fill me in so we can get it working.
    • CommentAuthorMSFT
    • CommentTimeJan 31st 2007
     
    Yep, this is where things get interesting.
    We do not support JavaScript to determine the Flash version number because navigator.mimeTypes was a Netscape standard and therefore we couldn’t use it and the desktop IE way of using VBScript was not supported because we didn’t include it because of the constraints on footprint size on phones. So there is no way to determine the Flash Player version...

    - Is it safe to assume that all devices that run IE mobile support flash player 7?
    Like we posted in our blog, you might be okay with assuming that if the browser is "Windows CE" (From our UserAgent) we "support" Flash. There is only one player and it is version 7. If the Flash player is not installed on the Pocket PC or if the device is a Smartphone we are no worse off than now.
    • Our old UA: Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)
    • Our new UA: Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.7)
    • CommentAuthorGeoff
    • CommentTimeFeb 1st 2007 edited
     
    SWFObject doesn't use either of those methods for detecting the Flash Player version in IE.

    It uses Javascript to create an activex object and then queries the object for the version number.

    Here's an example of how it works:


    axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
    axo.GetVariable("$version");


    The GetVariable call is built into the Flash player, so that's how that part works.

    I'm guessing that maybe the mobile version of flash player 7 doesnt' support GetVariable calls, but if there was a way to try and create an activex object like that, maybe we could at least determine if the plugin was installed or not?

    Maybe i'll see if a co-worker has a phone with the player on it and mess with it a bit.

    I'm not really comfortable assuming that all windows CE devices have flash player, since it doesn't appear that flash player actually ships on these devices. Also version detection is very important for when a new player version comes out. In 6 months if there is a ver. 8 or 9 player, and develoers publish content for those players, but a user with only flash player 7 visits your page, then the detection would just see that they have flash and try to play the content, which may give them broken content (or no content at all).
    • CommentAuthorGeoff
    • CommentTimeFeb 1st 2007
     
    Well i've been playing around with this, and it turns out you *can* detect the version of flash player installed, but it's a little trickier than just asking the plugin for the version.

    I have a fix in place, but unfortunately, I only have access to a mobile device with an older windows ce OS, and for some strange reason, MS didn't include support for document.getElementById in that version. (seriously, wtf were you thinking?).

    So the guy with the phone is downloading some messaging update pack so we can finish testing this out.

    Unfortunately, adding support to swfobject for devices that don't support document.getElementById is a much bigger task than I'm willing to endure, so if you want flash on your windows mobile, you'll have to update to the version that supports document.getElementById.

    You can get the upgrade here if you are a mobile user that wants to see flash stuff:
    http://www.microsoft.com/windowsmobile/business/directpushemail.mspx

    once we get the update tested i'll post another update here.
    • CommentAuthorMSFT
    • CommentTimeFeb 1st 2007
     
    Thanks Geoff!

    We also verified that the ActiveX object method works.

    FYI...We added support for document.getElementById (and a ton of other stuff) in the next version of IE Mobile on Windows Mobile 6.0.
    • CommentAuthorGeoff
    • CommentTimeFeb 1st 2007 edited
     
    We added support for document.getElementById (and a ton of other stuff) in the next version of IE Mobile on Windows Mobile 6.0.

    It also looks like it's in some special update that is available now, correct? So current users will be able to update and enjoy flash stuff.

    Also, here's what the basic code looks like to perform a version lookup... once i get his tested i'll update swfobject.

    var count = 3;
    var axo = 1;
    while (axo) {
    try {
    count++;
    axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+ count);
    } catch(e) {
    axo = null;
    document.write("You have Flash Player v "+ (count-1) +" installed!");
    }
    }
    • CommentAuthorMSFT
    • CommentTimeFeb 2nd 2007
     
    "It also looks like it's in some special update that is available now, correct? "
    Yes- I just got confirmation that document.getElementById was added in one of the early Windows Mobile 5 updates. We think that you are correct that upgrading to MSFP add support.

    Somone also passalong this tip- document.getElementById can be implemented as follows:

    if (document.all) return document.all[“elementid”]

    where elementid is what you would normally pass to getElementById
    • CommentAuthorGeoff
    • CommentTimeFeb 3rd 2007
     
    Ah cool, I can just add that in then.
    • CommentAuthorGeoff
    • CommentTimeFeb 3rd 2007 edited
     
    Ok, I've added all the code to swfobjet 1.5 in SVN ( svn.deconcept.com/swfobject/trunk/ ), but I don't have a windows mobile device to test with, so can someone with mobile IE please grab the update and test each example page to see if it's working.

    Have a look at flashversion.html - it should show v 7.0.0 is installed.

    and fullpage.html and swfobject.thml should not display the flash movie (as they require v.9 to display) so in order to test that, you'll need to make a test page using a flash 7 swf.


    You may also want to check the expressinstall.html page - this should attempt to load the swf, but then you should be prompted to upgrade your player - if they haven't already, adobe will need to add mobile IE to the list of devices that doesn't support express install (I can contact them if this is the case)
    • CommentAuthorGeoff
    • CommentTimeFeb 5th 2007
     
    Anyone able to test this? The guy at my office wasn't in today so i couldn't verify that it's working.

    You can visit this page and see if it shows that you have flash player v.7.0.0 installed:

    http://blog.deconcept.com/code/swfobject1.5/flashversion.html
    • CommentAuthorMSFT
    • CommentTimeFeb 6th 2007
     
    Sorry for the delay...We ran it and it works.

    Thanks for all the help.