Query related ExternalInterface and chrome popup blocker

I want to call js function on service  response my code is as below
when I run this in google chrome, If I click directJs button It works properly,
It open new window.
But when I call js(ExternalInterface ) from service response It stuck in popupblocker
My aim is to execute js function from service responce in google chrome browser
please guide with solution.
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical">
          <mx:Script>
                    <![CDATA[
                              import mx.messaging.messages.HTTPRequestMessage;
                              import mx.controls.Alert;
                              import com.adobe.serialization.json.JSON;
                              import mx.rpc.events.FaultEvent;
                              import mx.rpc.events.ResultEvent;
                    import mx.rpc.http.HTTPService;
                    private function CallService():void
                              var myService:HTTPService = new HTTPService();
                              myService.addEventListener(ResultEvent.RESULT, ResultEventFunction);
                              myService.addEventListener(FaultEvent.FAULT,FaultEventFunction);
                              myService.useProxy = false;
                              myService.method = HTTPRequestMessage.GET_METHOD;
                              myService.url = "https://www.googleapis.com/books/v1/volumes?q=science";
                              myService.send();
                    private function ResultEventFunction(e:ResultEvent):void
                              ExternalInterface.call( "window.open", "http://www.google.com", "_blank" );
                              lbl.text = "service result";
                    private function FaultEventFunction(e:FaultEvent):void
                              ExternalInterface.call( "window.open", "http://www.google.com", "_blank" );
                              lbl.text = "service fault";
                    private function CallJS():void
                              ExternalInterface.call( "window.open", "http://www.google.com", "_blank" );
                              lbl.text = "direct js";
                    ]]>
          </mx:Script>
          <mx:Button label="CallJS" click="CallJS()"/>
          <mx:Button label="CallService" click="CallService()"/>
          <mx:Label id="lbl"/>
</mx:Application>

Hi Prabodh,
As per this link http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/external/External Interface.html
"Note for Flash Player applications: In Flash Player 10 and later running in a browser, using this class programmatically to open a pop-up window may not be successful. Various browsers (and browser configurations) may block pop-up windows at any time; it is not possible to guarantee any pop-up window will appear. However, for the best chance of success, use this class to open a pop-up window only in code that executes as a direct result of a user action (for example, in an event handler for a mouse click or key-press event.)"
you can not open window in timer event or some result event of service, you must need some human event like click,key-press or touch....
may it help you.
Regards,
Virat Patel
ACE-Flex3/Air

Similar Messages

  • Using navigateToURL and ExternalInterface.call triggering popup blocker

    I have a button and a text field.  Clicking the button sends the text to a backend server where it does a profanity filter.  I'm using an event listener to get a response from the back end.  If there is no profanity, the swf does a navigateToURL.  Unfornetly the url request is blocked by many browsers.
    When I skip the profanity filter and the navigateToURL is fired in the MouseEvent function then it doesn't get blocked.  I've read this is expected, it's a security feature.
    Is it possible to put a function inside my MouseEvent function, or someway of getting a response from the server all inside the the MouseEvent function?
    Thanks!

    I had to change it to this to get it to work:
    btn.addEventListener(MouseEvent.CLICK, buttonEvent);
    btn.dispatchEvent(new MouseEvent("click"));
    Thank for this Klad, I might have use for it someday, but you are right, it didn't trick the browser.

  • I am trying to attend an online class, but can't get to it.  i called the instructor and she told me to turn off the popup blocker.  do i have one of those?

    I am trying to attend an online class, but can't get to it.  i called the instructor and she told me to turn off the popup blocker.  do i have one of those?

    You didn't mention what web browser you are using so it's hard to say.
    One quick thing you can try if you need to log into the class right now is to download a different browser. Assuming you're using Safari, some possible alternatives include Firefox by Mozilla, and Chrome by Google.
    If you continue to experience problems please provide more information about the iMac, version of the Mac OS, and which browser version you are using. Most browsers have the ability to block pop-up windows. You just need to check your options. Here's what it looks like in the current version of Safari.

  • How do I take data from a query sample record and query another block with it?

    I have a master/detail form (6i) that contains a master block (staff), and a detail block (phone). I would like to be able
    to query by phone number, but when I execute the query, I would like a 'search results' box to pop up that contains the
    phone number I queried for, as well as some other staff info. There might be multiple records that match my query,
    and I'd like them all to be listed (or list 10 or so, with a scrollbar). I'd like a push button next to each record that will take
    me back to the master/detail window with that record displayed. So, I created a third block that is based on a joined
    view of the staff and phone tables. It is a multi-record block, with 10 recs displayed and a scrollbar. It is in a separate
    window. I don't want the user to have to navigate to that block, however, to perform their query. I would like them to be
    able to enter the query in the phone number block, then somehow grab the phone number they've entered and use it to
    query my 'search' block. This is the part I'm having trouble with. Can someone please help? THANKS!

    Where do I put that line of code? I see that it goes at the Script part near the top, but how can I use that, I am pretty new to this language. I am not familiar with this line, where does it bind the value from the datagrid to the variable?
    fullXML[myDataGrid.selectedIndex].FIELD_NAME;
    myDataGrid would be the id from the grid I am guessing?
    and selected index would be the channel.description part?
    and FIELD_NAME; is the variable name?
    does this go into a funtion or is it placed at the top where the variables are declared?

  • Problem with IE8 popup blocker and Windowless mode

    My team is having popup blocker issue, which is crippling our system where a large range of users are now complaining that their links or buttons will not open in IE7 or IE8 and results in the pop-up blocker message.
    Our Flash application's embed code needed wmode set to windowless ('opaque' or 'transparent') since we need to place floating HTML objects over the Flash application. But all links (within static text content) with target set to '_blank' or a custom name and also all navigateToURL() methods with the same target values are now resulting in IE pop-up blocker message once the window mode was changed to 'opaque' (same result also with 'transparent').
    We have a AS3 work around for the navigateToURL() method but no solutions for 100s of pages of simple HTML content contributed by users that have links as well as our own Flash static-text content with links.
    Here is a simple page created to demonstrate the issue - http://clients.projectmiso.net/photobiz/custom_lightbox/Test_File.html
    And the ActionScript 3 code -
    var clickFunction = function(){
        var targetURL:URLRequest = new URLRequest("http://www.yahoo.com");
        navigateToURL(targetURL, '_blank');
    btn1.addEventListener(MouseEvent.CLICK, clickFunction);

    Hi!
    One thing you could try is to use MOUSE_UP instead of CLICK
    ( tip-source : http://www.actionscript.org/forums/showthread.php3?t=176795 )
    This example uses clickTag parameter (through flashvars) instead of a hardcoded URL inside the flashfile though,
    but I'm sure you get the point:
    clickBtn.addEventListener(MouseEvent.MOUSE_UP, function(event: MouseEvent): void {
    var sURL: String;
    if ((sURL = root.loaderInfo.parameters.clickTag)) {
    navigateToURL(new URLRequest(sURL), "_blank");
    clickBtn.buttonMode = true;
    clickBtn.useHandCursor = true;
    Or you might want to have a look at this workaround :
    Example :  http://apdevblog.com/examples/navigatetourl/
    Info : http://apdevblog.com/problems-using-navigatetourl/
    /Ola

  • How do I disable the "popup blocker" on Firefox 5.0.1 on my Macbook and OS 10.5.8.

    I am a realtor trying to access forms on the Calif. Assoc. of Realtors. I received a message saying that I have to turnoff my popup blocker to proceed. I tried to download Google's Toolbar and received a message that the Toolbar is only available for Firefox 5.0 and under. I am Firefox 5.0.1 on my Macbook (Mac OS 10.5.8). Thank you

    we are users just like you Go the the bottom left off this page, it's write ¨contact us ". Click it and talk to apple

  • How can I get itunes to download on my PC. I just got an ipod classic for Christmas and can not get Itunes to download. Website goes to downloaded page but i never get a downloading popup. I even turned off my popup blocker.

    How can I get itunes to download on my PC. I just got an ipod classic for Christmas and can not get Itunes to download. Website goes to downloaded page but i never get a downloading popup. I even turned off my popup blocker.

    Make an appointment at the genius bar.
    If you went without an appointment, then it would make sense that you could be turned away.

  • How do I prevent mackeeper and zillions of other popups?  I have popups blocked in my settings and don't have mac keeper as an application.  Thanks!

    My MacBook Air (OS Yosemite 10.10.1) is overwhelmed with popups.  Mackeeper is the most offensive, but there are others as well.  I have popups blocked in my settings and do not have Mackeeper in my applications. 

    There is no need to download anything to solve this problem. You may have installed a variant of the "VSearch" ad-injection malware.
    Triple-click the line below on this page to select it, then copy the text to the Clipboard by pressing the key combination  command-C:
    /Library/LaunchDaemons
    In the Finder, select
              Go ▹ Go to Folder...
    from the menu bar and paste into the box that opens by pressing command-V. You won't see what you pasted because a line break is included. Press return.
    A folder named "LaunchDaemons" may open. Look inside it for a file with a name of the form
              com.something.daemon.plist
    Here something is a variable word, which can be different in each case. It could be "cloud," "dot," "highway," "submarine," "trusteddownloads," or pretty much anything else.
    There may also be a file named
               com.something.helper.plist
    in the same folder.
    Leave the LaunchDaemons folder open, and open the following folder in the same way:
    /Library/LaunchAgents
    In this folder, there may be a file named
              com.something.agent.plist
    where the word something is exactly the same as before.
    If you feel confident that you've identified these three files, back up all data, then drag the three files you found to the Trash. You may be prompted for your administrator login password. Close the windows and restart the computer.
    Don't delete the "LaunchAgents" or "LaunchDaemons" folder or anything else inside either one.
    The malware is now permanently inactivated, as long as you never reinstall it. You can stop here if you like, or you can remove two remaining components for the sake of completeness.
    Open this folder:
    /Library/Application Support
    If it has a subfolder named just
               something
    (where something is the same word as before), drag that subfolder to the Trash and close the window.
    Don't delete the "Application Support" folder or anything else inside it.
    Finally, in this folder:
    /System/Library/Frameworks
    there may an item named exactly
                v.framework
    It's actually another folder, though it has a different icon. Drag it to the Trash and close the window.
    Don't delete the "Frameworks" folder or anything else inside it.
    If you didn't find the files or you're not sure about the identification, post what you found.
    If in doubt, or if you have no backups, change nothing at all.
    The trouble may have started when you downloaded and ran an application called "MPlayerX." That's the name of a legitimate free movie player, but the name is also used fraudulently to distribute VSearch. If there is an item with that name in the Applications folder, delete it, and if you wish, replace it with the genuine article from mplayerx.org.
    This trojan is often found on illegal websites that traffic in pirated content such as movies. If you, or anyone else who uses the computer, visit such sites and follow prompts to install software, you can expect more of the same, and worse, to follow. Never install any software that you downloaded from a bittorrent, or that was downloaded by someone else from an unknown source.
    In the Security & Privacy pane of System Preferences, select the General tab. The radio button marked Anywhere  should not be selected. If it is, click the lock icon to unlock the settings, then select one of the other buttons. After that, don't ignore a warning that you are about to run or install an application from an unknown developer.
    Then, still in System Preferences, open the App Store or Software Update pane and check the box marked
              Install system data files and security updates (OS X 10.10 or later)
    or
              Download updates automatically (OS X 10.9 or earlier)
    if it's not already checked.

  • Query to get the details of Blocking and deadlock occurred for the Day

    Hi,
       I need a query to get the details of blocking and deadlock occurred for the day.

    You havent specified which version of SQL you are using which makes it difficult to give a solution. Assuming its latest versions , by default SQL Server (in any versions) doesnt track blocking information.
    You need to run some kind of queries/traces to capture blocking. The same goes with Deadlocks where majority of the DBA's enable trace flag 1222/1205 when they suspect deadlocks happening.
    Check this link -
    http://dba.stackexchange.com/questions/10644/deadlock-error-isnt-returning-the-deadlock-sql/10646#10646
    This link gives code to get historic deadlock information. I havent used it , I just googled to get that.
    That being said if you are looking for something to capture for the future check the below links.
    Check these links on how to setup extended events to capture deadlock and blocking.
    http://sqlblog.com/blogs/jonathan_kehayias/archive/2010/12/21/an-xevent-a-day-21-of-31-the-future-tracking-blocking-in-denali.aspx
    http://blogs.msdn.com/b/sqlserverfaq/archive/2013/04/27/an-in-depth-look-at-sql-server-memory-part-2.aspx
    http://blogs.technet.com/b/mspfe/archive/2012/06/28/how_2d00_to_2d00_monitor_2d00_deadlocks_2d00_in_2d00_sql_2d00_server.aspx
    HTH
    Regards, Ashwin Menon My Blog - http:\\sqllearnings.com

  • How to accept 3rd party cookies and turn off my popup blocker?

    All of a sudden I can't get to where I want to go in Safari - the bank helper says to make sure my popup blocker is turned off and that my browser is accepting 3rd party cookies.
    I can't seem to get it done in my system preferences - thanks for any help -

    Open the Security and Privacy tabs of Safari's preferences(not System Preferences) and change the settings.
    (124220)

  • I am trying to apply for a job on line and I am receiving this message t has been determined that you are currently running a "Popup Blocker". In order to continue, please allow this site from within your "Popup Blocker" preferences. How do I fix this?

    Hello,
    I am trying to apply for a job on line and I am receiving the following message "
    t has been determined that you are currently running a "Popup Blocker". In order to continue, please allow this site from within your "Popup Blocker" preferences
    How do I correct this??
    Thanks!

    Open Safari preferences, click on the Security icon in the toolbar, uncheck the pop-up blocker option.

  • Popups on safari and chrome

    could you help me please to stop popups from safari and chrome ..???
    MacBook Pro (Retina, 13-inch, Late 2013) 2.4 GHz Intel Core i5, OS X yosemite (10.10.1)
    8 GB 1600 MHz DDR3
    thanks..

    Click here and follow the instructions, or if they don't cover the type of adware on the computer, these ones. If you're willing to use a tool to remove it(you don't need to, but may find it easier), you can instead run Adware Medic; this link is a direct download.
    (118392)

  • Popup blocker keeps losing my "exceptions" to websites. every day I have to go back in and enter the exceptions. This has only happened with the last two Firefox versions.

    I go to "tools" then popup blocker "exceptions". (I have the block popups checked.) When I enter "www.paypal.com" and add it in, everything is OK for about 12 hours (or less). I will check to see if the exception is still there within 12 hours and there is nothing in my exceptions. I have added as many as three exceptions entered only to have them all disappear within a few hours.
    This severely cramps my attempt to print shipping labels on the PayPal website.
    I thought this latest version of Firefox cured the issue, but it did not.

    Make sure that you do not use [[Clear Recent History]] to clear the "Site Preferences"
    Clearing "Site Preferences" in "Clear Recent History" will remove exceptions that are stored in content-prefs.sqlite (site specific settings for zoom) and permissions.sqlite (exceptions for images, cookies, pop-ups, software; Tools > Page Info > Permissions) in the [http://kb.mozillazine.org/Profile_folder_-_Firefox Profile Folder].
    The password exceptions (Tools > Options > Security: Passwords: Show Passwords) are also removed from signons.sqlite.

  • Relative Weight and vCPU allocation query

    Hi all
    I've done a lot of reading around this subject mainly starting here:
    http://social.technet.microsoft.com/wiki/contents/articles/1234.hyper-v-concepts-vcpu-virtual-processor.aspx
    So I know the technical descriptions and some of the background but there is one key area on which I am seeking some clarification if possible.
    Most of my Hyper-V experience is with 2008 and 2008R2 so that's what I will be asking about (but it would be useful to know if 2012 changes anything).
    I understand the concept of virtual CPUs (vCPU) as given to a VM via the VM settings dialog box. I understand that giving a VM 1 to 4 vCPUs does not give the VM any sort of 1:1 or exclusive right to any of the parent's CPU cores. My understanding is that
    (basically) the parent server's cores are formed into a 'pool' and each VM is given a 'time share' of this pool of CPU. I know it is more complex than that due to the way threads may not easily be moved from core to core but let's ignore that!
    I understand the 'relative weight' option is used to distribute the 'grunt' from the pool of parent CPU to the VMs such that each VM gets a proportion of the parents CPU-pool as per the ratio of the relative weight scores.
    So as an arbitrary, simplified example let's imagine the parent has 2 physical quad core CPUs running at 2.0Ghz. So that's 8 cores running at 2Ghz. So let's imagine the CPU-pool 'grunt' is 16Ghz. (Grunt could be also called 'power', 'horsepower' etc.) I
    know it doesn't work out quite like this but this is simplified.
    So we add some VMs.
    Let's add 4 VMs all with 1 vCPU and all equal 100 relative weight (RW). For the sake of argument all the VMs are 'busy' so that they always need CPU. Let's say each of them shows fairly constant 80% CPU activity in Task Manager within the VM. None of the
    VMs are Terminal Servers. Let's also ignore the Hyper-V parent partition's draw on CPU as negligible.
    So in this case, if there is contention for the parent CPU, then each of the 4 VMs would be allocated an equal time share of the parent's pool of CPU. So it might be said that on average each VM runs as if it had 4Ghz of 'grunt'. Inside each VM the applications
    would see a single vCPU running at 4Ghz. (Bear with me on Ghz, I could have called Ghz 'gruntz' or indeed anything, but I think it helps to talk in terms of Ghz as this is familiar).
    Is this correct? Assuming it is then ...
    So now I need more 'grunt' to be available to the first VM. So some people may consider two options. Increase the number of vCPU assigned to the VM or increase the Relative Weight. This is where I am confused.
    So my question is if the RW is kept constant does increasing the number of vCPU make any more grunt available to a VM or is the grunt simply divided up. For example:
    I change VM1 so have 4 vCPU. My understanding is that because RW has not changed then the applications running on VM1 see things change from 1 vCPU running at 4Ghz to 4 vCPUs running at 1Ghz. I surmise this because the RW is what dictates the amount of time
    a VM gets on the parent pool of CPU so the VM's allocation (of 4Ghz) must be divided by the number of vCPU.
    However I am continually faced with clients asking to allocate more vCPU because they feel this improves the performance of the applications running on the VM, hence I wanted some clarification on whether my understanding is correct or not.
    I know that Brian Ehlert, and others, have often stated that it is best to try and give VMs as few vCPUs as possible so that the VM's OS doesn't need to spend time shuffling threads. If this is the case then what is the background or reason for increasing
    the allocation of vCPU to a VM? Why add more? When does it have benefit? Is it also required to increase the RW at the same time as adding the vCPU?
    It would be great if there was an in-depth article from Microsoft explaining how this all works, in the meantime I'm hoping for some enlightenment from this forum.
    Thanks in advance.
    Ian

    Thanks for your input Ben, that is a very interesting document indeed.
    The section that is most pertinent is this one:
    <<18.2.3       CPU
    Weight
    The CPU weight is a relative weight assigned to each of the virtual processors of the partition. Unless otherwise constrained by reserves and caps, the scheduler will attempt to weight the run time of the virtual processors scheduled on
    a given logical processor according to their relative weights. Let’s consider the case where three partitions, each with one virtual processor are being scheduled on a single logical processor, their weights are 100, 200 and 700, no reserves or caps are in
    effect, and all three of the virtual processors have work to perform (that is, they are not idle). In this case, the fraction of physical CPU capacity provided to the three virtual processors would be approximately
    10%, 20%, and 70%.
    The CPU weight value is expressed as a decimal value from 1 to 10,000 where 100 (the geometric mean) is the typical value.
    By default, a partition’s weight is set to 100.>>
    After having read this (and your statement about scheduling processors not VMs) I have had a 'lightbulb moment' where I first understand that the various 'switches' such as Relative Weight are per vCPU and not per VM.
    I went back to the online help from Hyper-V and it points to this document:
    Performance Tuning Guidelines for Windows Server 2008
    http://msdn.microsoft.com/en-us/windows/hardware/gg463394.aspx
    In this document there are some useful statements that I was not aware of i.e.
    <<Hyper-V in Windows Server 2008 supports up to 16 logical processors and can use all logical processors if the number of active virtual processors matches that of logical processors. This can reduce
    the rate of context switching between virtual processors and can yield better performance overall.">>
    This is not something that I was aware of. I thought that if you had fewer vCPU than logical CPUs on the host then the vCPU would be shared around the logical CPUs in order to fully utilise the parent CPUs. After reading this above it is obvious that this
    is not the case.
    And this statement:
    <<Virtual Processors
    Hyper‑V in Windows Server 2008 supports a maximum of four virtual processors per VM. VMs that have loads that are not CPU intensive should be configured to use one virtual processor. This is because of the additional overhead that is associated
    with multiple virtual processors, such as additional synchronization costs in the guest operating system. More CPU-intensive loads should be placed in 2P or 4P VMs if the VM requires more than one CPU of processing under peak load.>>
    These two statements lead me to the feeling that it is better to add more vCPU to VMs than fewer if you want to 'make the most of' the CPU you have available on the parent. So going back to my original example of a parent with two quad core CPU (no hyper-threading)
    we have 8 logical CPUs available. If we have four VMs that running approximately equal, and busy workloads, we should set each VM to at least 2 vCPU. This would ensure all 8 logical CPUs were used.
    First question: What would the potential downside be to setting all four VMs with 4 vCPU which would overcommit the vCPU to logical CPU by a factor of 2. Would this cause scheduling overhead and therefore wasteful of CPU?
    Second Question: If I wanted to give a greater share of parent CPU to one of the VMs how would it be best done? Adding more vCPUs to the VM or changing the Relative Weight? Or both? Assuming I was using a Hyper-V 2012 parent that allows more than 4 vCPU
    per VM which would be the best way of boosting the performance of one of the VMs:
    a) VM1 gets 8 vCPU and each other VM (VM2, VM3 & VM4) each gets 4 vCPU
    or
    b) VM1 gets 200 Relative Weight and 4 vCPU and each other VM (VM2, VM3 & VM4) each gets 100 Relative Weight and 4 vCPU
    Many, many thanks for helping me here.
    Ian

  • Spry menu displays fine in FF and Chrome but not in IE

    hello all -
    as stated my Spry menu drops down fine (vertical) in FF and Chrome but in IE8 it displays horizontal. pls help & ty!
    here is the CSS and an example page-
    http://www.thelders.com/BlueRidge/ContactUs.html
    @charset "UTF-8";
    /* SpryMenuBarHorizontal.css - Revision: Spry Preview Release 1.4 */
    /* Copyright (c) 2006. Adobe Systems Incorporated. All rights reserved. */
    LAYOUT INFORMATION: describes box model, positioning, z-order
    #MenuBar1 {
    margin:0 auto;
    width:876px;
    /* The outermost container of the Menu Bar, an auto width box with no margin or padding */
    ul.MenuBarHorizontal {
    margin: 0;
    padding: 0;
    list-style-type: none;
    font-size: 100%;
    cursor: default;
    width: auto;
    /* Set the active Menu Bar with this class, currently setting z-index to accomodate IE rendering bug: http://therealcrisp.xs4all.nl/meuk/IE-zindexbug.html */
    ul.MenuBarActive {
    z-index: 1000;
    /* Menu item containers, position children relative to this container and are a fixed width */
    ul.MenuBarHorizontal li {
    margin: 0;
    padding: 0;
    list-style-type: none;
    font-size: 100%;
    position: relative;
    text-align: left;
    cursor: pointer;
    float: left;
    /* Submenus should appear below their parent (top: 0) with a higher z-index, but they are initially off the left side of the screen (-1000em) */
    ul.MenuBarHorizontal ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
    font-size: 100%;
    z-index: 1020;
    cursor: default;
    position: absolute;
    left: -1000em;
    /* Submenu that is showing with class designation MenuBarSubmenuVisible, we set left to auto so it comes onto the screen below its parent menu item */
    ul.MenuBarHorizontal ul.MenuBarSubmenuVisible {
    left: auto;
    /* Menu item containers are same fixed width as parent */
    ul.MenuBarHorizontal ul li {
    width: 8.2em;
    /* Submenus should appear slightly overlapping to the right (95%) and up (-5%) */
    ul.MenuBarHorizontal ul ul {
    position: absolute;
    margin: -5% 0 0 95%;
    /* Submenu that is showing with class designation MenuBarSubmenuVisible, we set left to 0 so it comes onto the screen */
    ul.MenuBarHorizontal ul.MenuBarSubmenuVisible ul.MenuBarSubmenuVisible {
    left: auto;
    top: 0;
    DESIGN INFORMATION: describes color scheme, borders, fonts
    /* Submenu containers have borders on all sides */
    ul.MenuBarHorizontal ul {
    border: 1px solid #738dbb;
    background-color: #ddd9c3;
    /* Menu items are a light gray block with padding and no text decoration */
    ul.MenuBarHorizontal a {
    display: block;
    cursor: pointer;
    padding:6px 18px;
    text-decoration: none;
    /* Menu items that have mouse over or focus have a blue background and white text */
    ul.MenuBarHorizontal a:hover, ul.MenuBarHorizontal a:focus {
    /* Menu items that are open with submenus are set to MenuBarItemHover with a blue background and white text */
    ul.MenuBarHorizontal a.MenuBarItemHover, ul.MenuBarHorizontal a.MenuBarItemSubmenuHover, ul.MenuBarHorizontal a.MenuBarSubmenuVisible {
    background-color: #aac0db;
    SUBMENU INDICATION: styles if there is a submenu under a given menu item
    /* Menu items that have a submenu have the class designation MenuBarItemSubmenu and are set to use a background image positioned on the far left (95%) and centered vertically (50%) */
    ul.MenuBarHorizontal a.MenuBarItemSubmenu {
    background-image: url(SpryMenuBarDown.gif);
    background-repeat: no-repeat;
    background-position: 95% 50%;
    /* Menu items that have a submenu have the class designation MenuBarItemSubmenu and are set to use a background image positioned on the far left (95%) and centered vertically (50%) */
    ul.MenuBarHorizontal ul a.MenuBarItemSubmenu {
    background-image: url(SpryMenuBarRight.gif);
    background-repeat: no-repeat;
    background-position: 95% 50%;
    /* Menu items that are open with submenus have the class designation MenuBarItemSubmenuHover and are set to use a "hover" background image positioned on the far left (95%) and centered vertically (50%) */
    ul.MenuBarHorizontal a.MenuBarItemSubmenuHover {
    background-image: url(SpryMenuBarDownHover.gif);
    background-repeat: no-repeat;
    background-position: 95% 50%;
    /* Menu items that are open with submenus have the class designation MenuBarItemSubmenuHover and are set to use a "hover" background image positioned on the far left (95%) and centered vertically (50%) */
    ul.MenuBarHorizontal ul a.MenuBarItemSubmenuHover {
    background-image: url(SpryMenuBarRightHover.gif);
    background-repeat: no-repeat;
    background-position: 95% 50%;
    BROWSER HACKS: the hacks below should not be changed unless you are an expert
    /* HACK FOR IE: to make sure the sub menus show above form controls, we underlay each submenu with an iframe */
    ul.MenuBarHorizontal iframe {
    position: absolute;
    z-index: 1010;
    /* HACK FOR IE: to stabilize appearance of menu items; the slash in float is to keep IE 5.0 from parsing */
    @media screen, projection {
    ul.MenuBarHorizontal li.MenuBarItemIE {
    display: inline;
    f\loat: left;

    First off read the notice on the index page of this forum
    Announcement: Introducing Spry UI
    Then add the following style rules to your document
    ul.MenuBarHorizontal li {
        width: 8em;
    ul.MenuBarHorizontal ul {
        width: 8.2em;
    I hope this helps.
    Ben

Maybe you are looking for