Static publishing + callback could be interesting. I was only looking at
dynamic publishing...

(checking loading % through js with a timer seems like a worse hack than
using EI :)

A

On Mon, Nov 7, 2011 at 1:19 PM, Philip Hutchison <platelu...@gmail.com>wrote:

> Nothing is ever as easy as it should be, no? :)
>
> Hmm... perhaps focus will only work when the SWF has completed loading,
> which may be why your ExternalInterface and body onload approaches both
> work.  If that's the case, you could still set focus using the callback,
> but it gets a bit more complicated. You could use a timer as described
> here<http://learnswfobject.com/advanced-topics/executing-javascript-when-the-swf-has-finished-loading/>.
>
>
> Probably simpler to use static publishing with an swfobject.addLoadEvent
> call, though.
>
> I think I'll make some test pages for this when I can find time...
>
>
>
> On Mon, Nov 7, 2011 at 10:46 AM, Aran Rhee <aran.r...@gmail.com> wrote:
>
>> @Philip.
>>
>> Thanks for your input / background articles.
>>
>> Unfortunately in my own recent findings, using the callback function
>> provided by SWFObject still fails to focus the element correctly in a bunch
>> of browsers (my hypothesis is that it is still too early to be able to
>> focus correctly)
>>
>> I agree that this would have been a really nice clean way to make it
>> happen (if it had worked)
>>
>>
>> A
>>
>>
>>
>> On Mon, Nov 7, 2011 at 12:19 PM, Philip Hutchison 
>> <platelu...@gmail.com>wrote:
>>
>>> Traditionally, only links and form controls can receive focus. Since
>>> <object> is not a link or form element, it isn't capable of receiving focus
>>> in most browsers unless you set its tabIndex property.
>>>
>>> Jonathan Snook wrote a nice overview about focus and tabIndex a while
>>> back:
>>>
>>> http://snook.ca/archives/accessibility_and_usability/elements_focusable_with_tabindex
>>>
>>> The MDN has a good overview of the topic as well:
>>>
>>> https://developer.mozilla.org/en/Accessibility/Keyboard-navigable_JavaScript_widgets
>>>
>>> W3C's word on the topic (as relates to ARIA):
>>> http://www.w3.org/WAI/PF/aria-implementation/#keyboard-focus_tabindex
>>>
>>> As far as it relates to SWFObject, I'd invoke focus() using SWFObject's
>>> callback function since it doesn't involve editing the SWF:
>>>
>>>
>>> <script type="text/javascript">
>>> var flashvars = {};
>>> var params = { menu: false, salign: "tl", bgcolor: "#F7ECDA" };
>>> var attributes = { id: "swfContent" };
>>> var callbackFn = function(e){
>>>    if(e.success){
>>>       e.ref.tabIndex = "-1";
>>>       e.ref.focus();
>>>    }
>>> };
>>>
>>> swfobject.embedSWF("VendMach.swf", "flashDiv", "1152", "864",
>>> "9.0.0", "expressInstall.swf", flashvars, params, attributes,
>>> callbackFn);
>>> </script>
>>>
>>>
>>> By the way, setting params.quality = "best" is not necessary -- "best"
>>> is Flash's default setting.
>>>
>>>
>>> - philip
>>>
>>>
>>>
>>>
>>> On Mon, Nov 7, 2011 at 10:02 AM, Aran Rhee <aran.r...@gmail.com> wrote:
>>>
>>>> @Alex - Using the ExternalInterface methodology of calling focus from
>>>> within the swf after it is rendered etc (as described in my first response)
>>>> worked in all recent versions of FF/Safari/IE/Chrome/Opera that I tested.
>>>>
>>>> Setting the tab index seemed to fix the focus issue on some versions.
>>>>
>>>> In my situation, I needed not only to focus the swf on page load (kiosk
>>>> app driven by keyboard / remote control), but needed to be able to defocus
>>>> the Flash so the swap browser tab shortcut worked on FF as well... It was
>>>> pretty annoying to get working, but boiled down to some pretty simple
>>>> functions in the end...
>>>>
>>>>
>>>> Cheers,
>>>> Aran
>>>>
>>>>
>>>>
>>>>
>>>> On Mon, Nov 7, 2011 at 11:54 AM, Alex Harui <aha...@adobe.com> wrote:
>>>>
>>>>> Which browser and version of the browser?  I am under the impression
>>>>> that
>>>>> the focus() call doesn't work on all browsers.
>>>>>
>>>>>
>>>>> On 11/7/11 9:33 AM, "tidybox" <tidy...@hotmail.co.uk> wrote:
>>>>>
>>>>> > Thanks for the quick response and I have tried both your suggestions
>>>>> > but still not working!
>>>>> > I'm not the best at coding and my original code doesn't seem to
>>>>> > reflect your suggestions so maybe I'm altering it incorrectly (I used
>>>>> > the air swfObject2 generator)!
>>>>> > Here is my HTML code before adding any of your stuff and maybe you
>>>>> can
>>>>> > point me in the right direction as to where to place the new code.
>>>>> >
>>>>> > Much appreciated
>>>>> >
>>>>> > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://
>>>>> > www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
>>>>> > <html xmlns="http://www.w3.org/1999/xhtml"; lang="en" xml:lang="en">
>>>>> > <head>
>>>>> > <title>Portfolio</title>
>>>>> > <meta http-equiv="Content-Type" content="text/html;
>>>>> > charset=ISO-8859-1" />
>>>>> > <script type="text/javascript" src="swfobject.js"></script>
>>>>> > <script type="text/javascript">
>>>>> > var flashvars = {};
>>>>> > var params = {};
>>>>> > params.menu = "false";
>>>>> > params.quality = "best";
>>>>> > params.salign = "tl";
>>>>> > params.bgcolor = "#F7ECDA";
>>>>> > var attributes = {};
>>>>> > attributes.id = "swfContent";
>>>>> > swfobject.embedSWF("VendMach.swf", "flashDiv", "1152", "864",
>>>>> > "9.0.0", "expressInstall.swf", flashvars, params, attributes);
>>>>> > </script>
>>>>> > <style type="text/css" media="screen">
>>>>> > object { outline:none; }
>>>>> > <!--
>>>>> > body {
>>>>> > background-color: #F7ECDA;
>>>>> > margin-left: 0px;
>>>>> > margin-top: 0px;
>>>>> > margin-right: 0px;
>>>>> > margin-bottom: 0px;
>>>>> > }
>>>>> > -->
>>>>> > </style>
>>>>> > <meta name="Keywords" content="Graphic Designer, Graphic Design,
>>>>> > Photoshop, illustrator, animation, print work, design, inDesign,
>>>>> > freelance" />
>>>>> >     <meta name="Description" content="MyPortfolio, freelance graphic
>>>>> > designer" />
>>>>> > </head>
>>>>> > <body>
>>>>> > <div id="flashDiv">
>>>>> > <a href="http://www.adobe.com/go/getflashplayer";>
>>>>> > <img src="http://www.adobe.com/images/shared/download_buttons/
>>>>> > get_flash_player.gif" alt="Get Adobe Flash player" />
>>>>> > </a>
>>>>> > </div>
>>>>> > </body>
>>>>> > </html>
>>>>> >
>>>>> > ____________________________________________________________________
>>>>> >
>>>>> > On Nov 7, 4:20 pm, Aran Rhee <aran.r...@gmail.com> wrote:
>>>>> >> Have a read of my reply to this question in this thread:
>>>>> >>
>>>>> >>
>>>>> http://groups.google.com/group/swfobject/msg/b0dc02d06db7aa43?hl=en_US
>>>>> >>
>>>>> >> That in my opinion is the correct way to do it (as you can ensure
>>>>> the focus
>>>>> >> (and defocus) calls work as intended)
>>>>> >>
>>>>> >> A simpler way which works in *most* browsers is to call a function
>>>>> on page
>>>>> >> load. Set the name and id in your attributes object for your
>>>>> embedSWF()
>>>>> >> call, and then call the focus method once all the page content had
>>>>> loaded.
>>>>> >>
>>>>> >> <head>
>>>>> >> <script type="text/javascript">
>>>>> >> function setFocus()
>>>>> >> {
>>>>> >> document.getElementById('myflashid').focus();}
>>>>> >>
>>>>> >> </script>
>>>>> >> ...
>>>>> >> </head>
>>>>> >>
>>>>> >> <body onLoad="setFocus();">
>>>>> >>
>>>>> >> Aran
>>>>> >>
>>>>> >>
>>>>> >>
>>>>> >>
>>>>> >>
>>>>> >>
>>>>> >>
>>>>> >> On Mon, Nov 7, 2011 at 10:09 AM, tidybox <tidy...@hotmail.co.uk>
>>>>> wrote:
>>>>> >>> I have an HTML page with only a single flash object on it which is
>>>>> >>> embedded using the 2.1 swfObject "Dynamic" generator and I want to
>>>>> be
>>>>> >>> able to use the keyboard straight away without the user first
>>>>> having
>>>>> >>> to click on the flash movie first! Can anyone advise me what code I
>>>>> >>> should use and where should it be placed in the generated HTML??
>>>>> >>
>>>>> >>> Thanks
>>>>> >>
>>>>> >>> --
>>>>> >>> You received this message because you are subscribed to the Google
>>>>> Groups
>>>>> >>> "SWFObject" group.
>>>>> >>> To post to this group, send email to swfobject@googlegroups.com.
>>>>> >>> To unsubscribe from this group, send email to
>>>>> >>> swfobject+unsubscr...@googlegroups.com.
>>>>> >>> For more options, visit this group at
>>>>> >>> http://groups.google.com/group/swfobject?hl=en.
>>>>>
>>>>> --
>>>>> Alex Harui
>>>>> Flex SDK Team
>>>>> Adobe System, Inc.
>>>>> http://blogs.adobe.com/aharui
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "SWFObject" group.
>>>>> To post to this group, send email to swfobject@googlegroups.com.
>>>>> To unsubscribe from this group, send email to
>>>>> swfobject+unsubscr...@googlegroups.com.
>>>>> For more options, visit this group at
>>>>> http://groups.google.com/group/swfobject?hl=en.
>>>>>
>>>>>
>>>>  --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "SWFObject" group.
>>>> To post to this group, send email to swfobject@googlegroups.com.
>>>> To unsubscribe from this group, send email to
>>>> swfobject+unsubscr...@googlegroups.com.
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/swfobject?hl=en.
>>>>
>>>
>>>  --
>>> You received this message because you are subscribed to the Google
>>> Groups "SWFObject" group.
>>> To post to this group, send email to swfobject@googlegroups.com.
>>> To unsubscribe from this group, send email to
>>> swfobject+unsubscr...@googlegroups.com.
>>> For more options, visit this group at
>>> http://groups.google.com/group/swfobject?hl=en.
>>>
>>
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "SWFObject" group.
>> To post to this group, send email to swfobject@googlegroups.com.
>> To unsubscribe from this group, send email to
>> swfobject+unsubscr...@googlegroups.com.
>> For more options, visit this group at
>> http://groups.google.com/group/swfobject?hl=en.
>>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "SWFObject" group.
> To post to this group, send email to swfobject@googlegroups.com.
> To unsubscribe from this group, send email to
> swfobject+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/swfobject?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"SWFObject" group.
To post to this group, send email to swfobject@googlegroups.com.
To unsubscribe from this group, send email to 
swfobject+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/swfobject?hl=en.

Reply via email to