Future of Dreamweaver

Ever since the merge of Adobe and Macromedia, I've been
wondering what the future of Dreamweaver and GoLive will be, will
they eventually become one single product? Or will dreamweaver or
GoLive cease development and only focus on one particular web
development program?

> The fact that Adobe hasn't come out and confirmed these
products will be
> upgraded
But they have done so....
Murray --- ICQ 71997575
Adobe Community Expert
(If you *MUST* email me, don't LAUGH when you do so!)
==================
http://www.dreamweavermx-templates.com
- Template Triage!
http://www.projectseven.com/go
- DW FAQs, Tutorials & Resources
http://www.dwfaq.com - DW FAQs,
Tutorials & Resources
http://www.macromedia.com/support/search/
- Macromedia (MM) Technotes
==================
"darrel" <[email protected]> wrote in message
news:elkef6$9bt$[email protected]..
>> I take it that's pure speculation on your behalf?
>
> I wouldn't call it 'pure' speculation. Perhaps common
sense with a dash of
> speculation.
>
> Most articles that have quoted Adobe have shown full
commitment to
> continuing developing and upgrading both Adobe
Illustrator and Macromedia
> Dreamweaver, while waffling around the subject of Golive
and Freehand.
>
> The fact that Adobe hasn't come out and confirmed these
products will be
> upgraded is a likely indication that they won't be
upgraded much (if at
> all). Of course, they're not going to say that as they
still want folks to
> buy them and upgrade as long as they can.
>
> Plus, from a pure business standpoint, why spend twice
the effort selling
> products that compete with each other?
>
> It's a clearer case in the Freehand department, but
GoLive appears to be
> heading towards the same fate. Both have been given the
seal of 'we will
> continue to SUPPORT'... which typically means 'yea,
we'll keep selling it
> as a long as you buy it, but don't expect an upgrade...'
>
> -Darrel
>

Similar Messages

  • What are plans for future of Dreamweaver

    An associate claims he attended a recent Adobe conference that indicated Adobe was droping future development of DW and concentrating on replacing it with Muse.  Any truth to this?

    e kurburski wrote:
    An associate claims he attended a recent Adobe conference that indicated Adobe was droping future development of DW and concentrating on replacing it with Muse.  Any truth to this?
    It doesn't sound to be true IMHO but development of any product depends on the demand of that product.  DW was in demand when people started learning HTML/CSS and when they were creating websites using the wonderful thing called Tables.
    Recently, the trend has been to use CMS packages like Joomla, Drupal, Wordpress and others so Adobe will certainly continue developing DW as long as there is a demand.  However, people using CMS websites don't really need DW so only the time will tell whether DW continues as it is all whether it adapts so that people can do something different with it.  It is more like a company called Nero which was making CD/DVD writing siftware but these days CD/DVDs are becoming obsolete and people are using flash/pen drives and external hard disks or portable hard disks.  So Nero's products are going for a sausage.  I bought Nero Burning Rom for £10 from them when the same product would have cost me £75 in 2001.
    { forgive me for any typos but the speller doesn't work on this forum today}

  • Your chance to influence the future of Dreamweaver

    Alejandro Gutierrez, the new Product Manager for Dreamweaver, is inviting applications to join the Dreamweaver prerelease (beta) programme. For details, see http://blogs.adobe.com/dreamweaver/2012/11/join-the-dreamweaver-pre-release-group.html.

    I don't know how many people Alejandro is prepared to accept, but it's a good opportunity to help improve Dreamweaver. It's a lot of work, not just a free peek at the next version.
    Beta testing involves working with incomplete features, reporting bugs, and suggesting improvements to the workflow. It involves frequently installing new builds, but you can keep your existing stable version on the same machine.

  • Is adobe phasing out dreamweaver?

    I am contemplating getting a CC subscription, mainly for photoshop and dreamweaver, but I'm concerned about the future of dreamweaver. It looks like most of the applications adobe is putting the majority of their stock in have undergone a UI update (most notably - the addition of a dark theme) , but I have not heard or read anything about dreamweaver getting a face-lift. Is adobe going to continue development for this IDE and, if not, will they be coming out with something new for development of web applications?

    The short answer is Dreamweaver is here to stay.
    The DW team is hard at work to not only update DW to comply with today's standards, but to also be more user friendly.
    By getting a CC subscription you will not only get the updates to your programs, you can also use programs like Adobe's Edge Tools and Services.

  • The future of ColdFusion and dreamweaver stepped up to the plate before it is too late

    It sucks, in order to shoot me a better integration of cross your product line and to make it work with the various devices available it was easier to remove support for ColdFusion from dreamweaver then it was too say isolated and have a flag that people could turn on or off but then you wouldn't have an opportunity to Korea and other product CF builder with his huge learning curve to sell to your current developers.
    In terms of succeeding business planning this may be the wave of the future by lose away if they could wash everything away.
    It does sound great CPUs with eight cores, 10 cores however many cores and threads or how much memory you can stick in a machine with water coolers memory coolers and so one you still don't write software that is compatible system wide.
    So before trying to squeeze another dollar out of developers perhaps you should re consider your future plans because to me it looks like you are trying to disguise an effort to offload ColdFusion as no longer a core product

    It sucks, in order to shoot me a better integration of cross your product line and to make it work with the various devices available it was easier to remove support for ColdFusion from dreamweaver then it was too say isolated and have a flag that people could turn on or off but then you wouldn't have an opportunity to Korea and other product CF builder with his huge learning curve to sell to your current developers.
    In terms of succeeding business planning this may be the wave of the future by lose away if they could wash everything away.
    It does sound great CPUs with eight cores, 10 cores however many cores and threads or how much memory you can stick in a machine with water coolers memory coolers and so one you still don't write software that is compatible system wide.
    So before trying to squeeze another dollar out of developers perhaps you should re consider your future plans because to me it looks like you are trying to disguise an effort to offload ColdFusion as no longer a core product

  • Will there be future database support of mySQL and php 5.5 on the dreamweaver CC?

    Will there be future support of mySQL and php 5.5 on the dreamweaver CC? I have seen various topics on this, and havent seen any answers on this as of yet. I feel it is very important to have this available, and not from some external company as an addon or something. I come from cs6 products, and am debating whether or not I should even join the creative cloud, or participate any further with Adobe products.
    I have been a fan of Adobe for quite some time. However, if there isn't going to be any database tools within DW, I may decide to pass on the CC and comepletely hand code it all from now on.
    Has anyone found yes or no answer to this yet? I am assuming there is no news yet, as the adobe posts I have read have no additional info other than they haven't updated the tools, thus removing them from CC.

    Mikaroni wrote:
    Will there be future support of mySQL and php 5.5 on the dreamweaver CC? I have seen various topics on this, and havent seen any answers on this as of yet. I feel it is very important to have this available, and not from some external company as an addon or something. I come from cs6 products, and am debating whether or not I should even join the creative cloud, or participate any further with Adobe products.
    I have been a fan of Adobe for quite some time. However, if there isn't going to be any database tools within DW, I may decide to pass on the CC and comepletely hand code it all from now on.
    Has anyone found yes or no answer to this yet? I am assuming there is no news yet, as the adobe posts I have read have no additional info other than they haven't updated the tools, thus removing them from CC.
    I very much doubt that any future addition of DW will include any 'official' support for mySql database interactivity. CC hide the server behaviours this time around in an extention to be activated by the individual, its still available in CC but at the users own disgression, mySql is dead. You should be connecting and querying your databases using other methods like mySqli. Adobe have seen it fit to go in other directions and dispite the outcry of dropping the server behaviours there has been a deafening silence from Adobe. From that you can take it they think it is no longer an important part of their software package.
    Mikaroni wrote:
    I have been a fan of Adobe for quite some time. However, if there isn't going to be any database tools within DW, I may decide to pass on the CC and comepletely hand code it all from now on.
    I have not updated to CC because it contains zero that would be of importance to my workflow. The more experienced a code writer you are the less DW has to offer. Any serious code writer would not miss DW if it went out of business. Fireworks is more important to me which LOL is going out of business...go figure. I think the Adone execs are screwed up snorting cocaine or something. I'm not really even sure why I use DW, maybe out of habit.
    Certainly hand coding for database connectivity and querying is the ONLY way to go if you are not interested in third party extentions because continuing to use the current available server behaviours is a backwards step. I don't know how good these third party extentions are because there has never been a lot of talk about them around here which leads me to believe not many are considering them, maybe.

  • Future Dreamweaver Features

    I read the following article:
    http://kb.adobe.com/selfservice/viewContent.do?externalId=kb402489&amp;sliceId=1
    And Adobe plans on removing ASP.net Server Behaviors?? How is
    a user supposed to connect to an Access Database without using
    Microsoft Expression? I know PHP connects to MySQL, but that
    software package is much more expensive than access? (Or is it?,
    maybe I am missing something)
    It's just my opinion, but I think it's crazy to remove
    support to a simple, reasonably cheap DB when a basic one is all
    that's is needed as compared to connecting to MySQL.
    Again, I may be missing something, which is why I post here:
    For the enlightenment.

    > How is a user
    > supposed to connect to an Access Database without using
    Microsoft
    > Expression?
    You can use ASP, or even PHP to connect to an Access
    Database. Both of
    those will be supported in future versions.
    > I know PHP connects to MySQL, but that software package
    is much more
    > expensive
    > than access?
    Huh? Both are FREE. Although your host may charge you for
    access to their
    MySQL server, that change is a) a passthrough charge to your
    client, and b)
    usually nominal anyhow.
    Murray --- ICQ 71997575
    Adobe Community Expert
    (If you *MUST* email me, don't LAUGH when you do so!)
    ==================
    http://www.projectseven.com/go
    - DW FAQs, Tutorials & Resources
    http://www.dwfaq.com - DW FAQs,
    Tutorials & Resources
    ==================
    "Mack879w" <[email protected]> wrote in message
    news:foalmr$ed4$[email protected]..
    >I read the following article:
    >
    http://kb.adobe.com/selfservice/viewContent.do?externalId=kb402489&amp;sliceId=1
    > And Adobe plans on removing ASP.net Server Behaviors??
    How is a user
    > supposed to connect to an Access Database without using
    Microsoft
    > Expression?
    > I know PHP connects to MySQL, but that software package
    is much more
    > expensive
    > than access? (Or is it?, maybe I am missing something)
    It's just my
    > opinion,
    > but I think it's crazy to remove support to a simple,
    reasonably cheap DB
    > when
    > a basic one is all that's is needed as compared to
    connecting to MySQL.
    > Again, I may be missing something, which is why I post
    here: For the
    > enlightenment.
    >

  • Why is my flash content not working on my dreamweaver created html site?

    This is a problem that's happening on my website I'm creating.  I created a quick test website to show you the problem on the fourm.  It's the same problem, and if you can provide the solution to this test website I can apply it to my main website.
    Test website on server:
    test331754952.net23.net
    What I did:
    -launched flash
    -typed "test" and made it spin 360 degrees
    -published swf
    -launched dreamweaver
    -created a site
    -moved swf to site folder
    -saved a html file to the site folder
    -in dreamweaver, went to insert, media, swf, then selected the swf I made
    -it inserted the swf, creating a gray placeholder for it
    -re-saved the html document, at which point dreamweaver created a folder named script and 2 files, an swf, and a javascript file
    Site Directory:
    Scripts Sub-Directory:
    What happens:
    -when I launch the swf on my machine, it plays fine
    -when I open the swf directly on the test website on the server, it plays fine
    -when I open the html with the embended swf on the test website on the server, it shows a gray box, then goes white
    -In dreamweaver, when I go to preview in browser and choose internet explorer, it tells me I don't have new flashplayer(I do: flashplayer 11) 
    Ie also pokes up a box at the bottom that says its not allowing content.  When I click allow content, it creates a gray box
    -In dreamweaver, when I go to preview in borwser and choose google chrome, it tells me flash player has stopped a potentionally unsafe operation.  When I close this dialog box, it gives me a gray box where my swf should be embeded.
    -I've tried changing global flash secuirty setting and it does nothing
    -I've tried visiting the test website on multiple computers in my household to no avail
    -I've tried having friends visit the site on their computer at their house to no avail
    -I did't touch the code on this test website-the code is exactly what dreamweaver generated
    Html Document Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    <script src="Scripts/swfobject_modified.js" type="text/javascript"></script>
    </head>
    <body>
    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="550" height="400" id="FlashID" title="test">
      <param name="movie" value="test.swf" />
      <param name="quality" value="high" />
      <param name="wmode" value="opaque" />
      <param name="swfversion" value="15.0.0.0" />
      <!-- This param tag prompts users with Flash Player 6.0 r65 and higher to download the latest version of Flash Player. Delete it if you don’t want users to see the prompt. -->
      <param name="expressinstall" value="Scripts/expressInstall.swf" />
      <!-- Next object tag is for non-IE browsers. So hide it from IE using IECC. -->
      <!--[if !IE]>-->
      <object type="application/x-shockwave-flash" data="test.swf" width="550" height="400">
        <!--<![endif]-->
        <param name="quality" value="high" />
        <param name="wmode" value="opaque" />
        <param name="swfversion" value="15.0.0.0" />
        <param name="expressinstall" value="Scripts/expressInstall.swf" />
        <!-- The browser displays the following alternative content for users with Flash Player 6.0 and older. -->
        <div>
          <h4>Content on this page requires a newer version of Adobe Flash Player.</h4>
          <p><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" width="112" height="33" /></a></p>
        </div>
        <!--[if !IE]>-->
      </object>
      <!--<![endif]-->
    </object>
    <script type="text/javascript">
    swfobject.registerObject("FlashID");
    </script>
    </body>
    </html>
    Javascript file code(the one dreamweaver made when I inserted swf):
    /*! SWFObject v2.0 <http://code.google.com/p/swfobject/>
    Copyright (c) 2007 Geoff Stearns, Michael Williams, and Bobby van der Sluis
    This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
    var swfobject = function() {
    var UNDEF = "undefined",
      OBJECT = "object",
      SHOCKWAVE_FLASH = "Shockwave Flash",
      SHOCKWAVE_FLASH_AX = "ShockwaveFlash.ShockwaveFlash",
      FLASH_MIME_TYPE = "application/x-shockwave-flash",
      EXPRESS_INSTALL_ID = "SWFObjectExprInst",
      win = window,
      doc = document,
      nav = navigator,
      domLoadFnArr = [],
      regObjArr = [],
      timer = null,
      storedAltContent = null,
      storedAltContentId = null,
      isDomLoaded = false,
      isExpressInstallActive = false;
    /* Centralized function for browser feature detection
      - Proprietary feature detection (conditional compiling) is used to detect Internet Explorer's features
      - User agent string detection is only used when no alternative is possible
      - Is executed directly for optimal performance
    var ua = function() {
      var w3cdom = typeof doc.getElementById != UNDEF && typeof doc.getElementsByTagName != UNDEF && typeof doc.createElement != UNDEF && typeof doc.appendChild != UNDEF && typeof doc.replaceChild != UNDEF && typeof doc.removeChild != UNDEF && typeof doc.cloneNode != UNDEF,
       playerVersion = [0,0,0],
       d = null;
      if (typeof nav.plugins != UNDEF && typeof nav.plugins[SHOCKWAVE_FLASH] == OBJECT) {
       d = nav.plugins[SHOCKWAVE_FLASH].description;
       if (d) {
        d = d.replace(/^.*\s+(\S+\s+\S+$)/, "$1");
        playerVersion[0] = parseInt(d.replace(/^(.*)\..*$/, "$1"), 10);
        playerVersion[1] = parseInt(d.replace(/^.*\.(.*)\s.*$/, "$1"), 10);
        playerVersion[2] = /r/.test(d) ? parseInt(d.replace(/^.*r(.*)$/, "$1"), 10) : 0;
      else if (typeof win.ActiveXObject != UNDEF) {
       var a = null, fp6Crash = false;
       try {
        a = new ActiveXObject(SHOCKWAVE_FLASH_AX + ".7");
       catch(e) {
        try {
         a = new ActiveXObject(SHOCKWAVE_FLASH_AX + ".6");
         playerVersion = [6,0,21];
         a.AllowScriptAccess = "always";  // Introduced in fp6.0.47
        catch(e) {
         if (playerVersion[0] == 6) {
          fp6Crash = true;
        if (!fp6Crash) {
         try {
          a = new ActiveXObject(SHOCKWAVE_FLASH_AX);
         catch(e) {}
       if (!fp6Crash && a) { // a will return null when ActiveX is disabled
        try {
         d = a.GetVariable("$version");  // Will crash fp6.0.21/23/29
         if (d) {
          d = d.split(" ")[1].split(",");
          playerVersion = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)];
        catch(e) {}
      var u = nav.userAgent.toLowerCase(),
       p = nav.platform.toLowerCase(),
       webkit = /webkit/.test(u) ? parseFloat(u.replace(/^.*webkit\/(\d+(\.\d+)?).*$/, "$1")) : false, // returns either the webkit version or false if not webkit
       ie = false,
       windows = p ? /win/.test(p) : /win/.test(u),
       mac = p ? /mac/.test(p) : /mac/.test(u);
      /*@cc_on
       ie = true;
       @if (@_win32)
        windows = true;
       @elif (@_mac)
        mac = true;
       @end
      return { w3cdom:w3cdom, pv:playerVersion, webkit:webkit, ie:ie, win:windows, mac:mac };
    /* Cross-browser onDomLoad
      - Based on Dean Edwards' solution: http://dean.edwards.name/weblog/2006/06/again/
      - Will fire an event as soon as the DOM of a page is loaded (supported by Gecko based browsers - like Firefox -, IE, Opera9+, Safari)
    var onDomLoad = function() {
      if (!ua.w3cdom) {
       return;
      addDomLoadEvent(main);
      if (ua.ie && ua.win) {
       try {  // Avoid a possible Operation Aborted error
        doc.write("<scr" + "ipt id=__ie_ondomload defer=true src=//:></scr" + "ipt>"); // String is split into pieces to avoid Norton AV to add code that can cause errors
        var s = getElementById("__ie_ondomload");
        if (s) {
         s.onreadystatechange = function() {
          if (this.readyState == "complete") {
           this.parentNode.removeChild(this);
           callDomLoadFunctions();
       catch(e) {}
      if (ua.webkit && typeof doc.readyState != UNDEF) {
       timer = setInterval(function() { if (/loaded|complete/.test(doc.readyState)) { callDomLoadFunctions(); }}, 10);
      if (typeof doc.addEventListener != UNDEF) {
       doc.addEventListener("DOMContentLoaded", callDomLoadFunctions, null);
      addLoadEvent(callDomLoadFunctions);
    function callDomLoadFunctions() {
      if (isDomLoaded) {
       return;
      if (ua.ie && ua.win) { // Test if we can really add elements to the DOM; we don't want to fire it too early
       var s = createElement("span");
       try { // Avoid a possible Operation Aborted error
        var t = doc.getElementsByTagName("body")[0].appendChild(s);
        t.parentNode.removeChild(t);
       catch (e) {
        return;
      isDomLoaded = true;
      if (timer) {
       clearInterval(timer);
       timer = null;
      var dl = domLoadFnArr.length;
      for (var i = 0; i < dl; i++) {
       domLoadFnArr[i]();
    function addDomLoadEvent(fn) {
      if (isDomLoaded) {
       fn();
      else {
       domLoadFnArr[domLoadFnArr.length] = fn; // Array.push() is only available in IE5.5+
    /* Cross-browser onload
      - Based on James Edwards' solution: http://brothercake.com/site/resources/scripts/onload/
      - Will fire an event as soon as a web page including all of its assets are loaded
    function addLoadEvent(fn) {
      if (typeof win.addEventListener != UNDEF) {
       win.addEventListener("load", fn, false);
      else if (typeof doc.addEventListener != UNDEF) {
       doc.addEventListener("load", fn, false);
      else if (typeof win.attachEvent != UNDEF) {
       win.attachEvent("onload", fn);
      else if (typeof win.onload == "function") {
       var fnOld = win.onload;
       win.onload = function() {
        fnOld();
        fn();
      else {
       win.onload = fn;
    /* Main function
      - Will preferably execute onDomLoad, otherwise onload (as a fallback)
    function main() { // Static publishing only
      var rl = regObjArr.length;
      for (var i = 0; i < rl; i++) { // For each registered object element
       var id = regObjArr[i].id;
       if (ua.pv[0] > 0) {
        var obj = getElementById(id);
        if (obj) {
         regObjArr[i].width = obj.getAttribute("width") ? obj.getAttribute("width") : "0";
         regObjArr[i].height = obj.getAttribute("height") ? obj.getAttribute("height") : "0";
         if (hasPlayerVersion(regObjArr[i].swfVersion)) { // Flash plug-in version >= Flash content version: Houston, we have a match!
          if (ua.webkit && ua.webkit < 312) { // Older webkit engines ignore the object element's nested param elements
           fixParams(obj);
          setVisibility(id, true);
         else if (regObjArr[i].expressInstall && !isExpressInstallActive && hasPlayerVersion("6.0.65") && (ua.win || ua.mac)) { // Show the Adobe Express Install dialog if set by the web page author and if supported (fp6.0.65+ on Win/Mac OS only)
          showExpressInstall(regObjArr[i]);
         else { // Flash plug-in and Flash content version mismatch: display alternative content instead of Flash content
          displayAltContent(obj);
       else {  // If no fp is installed, we let the object element do its job (show alternative content)
        setVisibility(id, true);
    /* Fix nested param elements, which are ignored by older webkit engines
      - This includes Safari up to and including version 1.2.2 on Mac OS 10.3
      - Fall back to the proprietary embed element
    function fixParams(obj) {
      var nestedObj = obj.getElementsByTagName(OBJECT)[0];
      if (nestedObj) {
       var e = createElement("embed"), a = nestedObj.attributes;
       if (a) {
        var al = a.length;
        for (var i = 0; i < al; i++) {
         if (a[i].nodeName.toLowerCase() == "data") {
          e.setAttribute("src", a[i].nodeValue);
         else {
          e.setAttribute(a[i].nodeName, a[i].nodeValue);
       var c = nestedObj.childNodes;
       if (c) {
        var cl = c.length;
        for (var j = 0; j < cl; j++) {
         if (c[j].nodeType == 1 && c[j].nodeName.toLowerCase() == "param") {
          e.setAttribute(c[j].getAttribute("name"), c[j].getAttribute("value"));
       obj.parentNode.replaceChild(e, obj);
    /* Fix hanging audio/video threads and force open sockets and NetConnections to disconnect
      - Occurs when unloading a web page in IE using fp8+ and innerHTML/outerHTML
      - Dynamic publishing only
    function fixObjectLeaks(id) {
      if (ua.ie && ua.win && hasPlayerVersion("8.0.0")) {
       win.attachEvent("onunload", function () {
        var obj = getElementById(id);
        if (obj) {
         for (var i in obj) {
          if (typeof obj[i] == "function") {
           obj[i] = function() {};
         obj.parentNode.removeChild(obj);
    /* Show the Adobe Express Install dialog
      - Reference: http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=6a253b75
    function showExpressInstall(regObj) {
      isExpressInstallActive = true;
      var obj = getElementById(regObj.id);
      if (obj) {
       if (regObj.altContentId) {
        var ac = getElementById(regObj.altContentId);
        if (ac) {
         storedAltContent = ac;
         storedAltContentId = regObj.altContentId;
       else {
        storedAltContent = abstractAltContent(obj);
       if (!(/%$/.test(regObj.width)) && parseInt(regObj.width, 10) < 310) {
        regObj.width = "310";
       if (!(/%$/.test(regObj.height)) && parseInt(regObj.height, 10) < 137) {
        regObj.height = "137";
       doc.title = doc.title.slice(0, 47) + " - Flash Player Installation";
       var pt = ua.ie && ua.win ? "ActiveX" : "PlugIn",
        dt = doc.title,
        fv = "MMredirectURL=" + win.location + "&MMplayerType=" + pt + "&MMdoctitle=" + dt,
        replaceId = regObj.id;
       // For IE when a SWF is loading (AND: not available in cache) wait for the onload event to fire to remove the original object element
       // In IE you cannot properly cancel a loading SWF file without breaking browser load references, also obj.onreadystatechange doesn't work
       if (ua.ie && ua.win && obj.readyState != 4) {
        var newObj = createElement("div");
        replaceId += "SWFObjectNew";
        newObj.setAttribute("id", replaceId);
        obj.parentNode.insertBefore(newObj, obj); // Insert placeholder div that will be replaced by the object element that loads expressinstall.swf
        obj.style.display = "none";
        win.attachEvent("onload", function() { obj.parentNode.removeChild(obj); });
       createSWF({ data:regObj.expressInstall, id:EXPRESS_INSTALL_ID, width:regObj.width, height:regObj.height }, { flashvars:fv }, replaceId);
    /* Functions to abstract and display alternative content
    function displayAltContent(obj) {
      if (ua.ie && ua.win && obj.readyState != 4) {
       // For IE when a SWF is loading (AND: not available in cache) wait for the onload event to fire to remove the original object element
       // In IE you cannot properly cancel a loading SWF file without breaking browser load references, also obj.onreadystatechange doesn't work
       var el = createElement("div");
       obj.parentNode.insertBefore(el, obj); // Insert placeholder div that will be replaced by the alternative content
       el.parentNode.replaceChild(abstractAltContent(obj), el);
       obj.style.display = "none";
       win.attachEvent("onload", function() { obj.parentNode.removeChild(obj); });
      else {
       obj.parentNode.replaceChild(abstractAltContent(obj), obj);
    function abstractAltContent(obj) {
      var ac = createElement("div");
      if (ua.win && ua.ie) {
       ac.innerHTML = obj.innerHTML;
      else {
       var nestedObj = obj.getElementsByTagName(OBJECT)[0];
       if (nestedObj) {
        var c = nestedObj.childNodes;
        if (c) {
         var cl = c.length;
         for (var i = 0; i < cl; i++) {
          if (!(c[i].nodeType == 1 && c[i].nodeName.toLowerCase() == "param") && !(c[i].nodeType == 8)) {
           ac.appendChild(c[i].cloneNode(true));
      return ac;
    /* Cross-browser dynamic SWF creation
    function createSWF(attObj, parObj, id) {
      var r, el = getElementById(id);
      if (typeof attObj.id == UNDEF) { // if no 'id' is defined for the object element, it will inherit the 'id' from the alternative content
       attObj.id = id;
      if (ua.ie && ua.win) { // IE, the object element and W3C DOM methods do not combine: fall back to outerHTML
       var att = "";
       for (var i in attObj) {
        if (attObj[i] != Object.prototype[i]) { // Filter out prototype additions from other potential libraries, like Object.prototype.toJSONString = function() {}
         if (i == "data") {
          parObj.movie = attObj[i];
         else if (i.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword
          att += ' class=" + attObj[i] + "';
         else if (i != "classid") {
          att += ' ' + i + '="' + attObj[i] + '"';
       var par = "";
       for (var j in parObj) {
        if (parObj[j] != Object.prototype[j]) { // Filter out prototype additions from other potential libraries
         par += '<param name="' + j + '" value="' + parObj[j] + '" />';
       el.outerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + att + '>' + par + '</object>';
       fixObjectLeaks(attObj.id); // This bug affects dynamic publishing only
       r = getElementById(attObj.id);
      else if (ua.webkit && ua.webkit < 312) { // Older webkit engines ignore the object element's nested param elements: fall back to the proprietary embed element
       var e = createElement("embed");
       e.setAttribute("type", FLASH_MIME_TYPE);
       for (var k in attObj) {
        if (attObj[k] != Object.prototype[k]) { // Filter out prototype additions from other potential libraries
         if (k == "data") {
          e.setAttribute("src", attObj[k]);
         else if (k.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword
          e.setAttribute("class", attObj[k]);
         else if (k != "classid") { // Filter out IE specific attribute
          e.setAttribute(k, attObj[k]);
       for (var l in parObj) {
        if (parObj[l] != Object.prototype[l]) { // Filter out prototype additions from other potential libraries
         if (l != "movie") { // Filter out IE specific param element
          e.setAttribute(l, parObj[l]);
       el.parentNode.replaceChild(e, el);
       r = e;
      else { // Well-behaving browsers
       var o = createElement(OBJECT);
       o.setAttribute("type", FLASH_MIME_TYPE);
       for (var m in attObj) {
        if (attObj[m] != Object.prototype[m]) { // Filter out prototype additions from other potential libraries
         if (m.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword
          o.setAttribute("class", attObj[m]);
         else if (m != "classid") { // Filter out IE specific attribute
          o.setAttribute(m, attObj[m]);
       for (var n in parObj) {
        if (parObj[n] != Object.prototype[n] && n != "movie") { // Filter out prototype additions from other potential libraries and IE specific param element
         createObjParam(o, n, parObj[n]);
       el.parentNode.replaceChild(o, el);
       r = o;
      return r;
    function createObjParam(el, pName, pValue) {
      var p = createElement("param");
      p.setAttribute("name", pName);
      p.setAttribute("value", pValue);
      el.appendChild(p);
    function getElementById(id) {
      return doc.getElementById(id);
    function createElement(el) {
      return doc.createElement(el);
    function hasPlayerVersion(rv) {
      var pv = ua.pv, v = rv.split(".");
      v[0] = parseInt(v[0], 10);
      v[1] = parseInt(v[1], 10);
      v[2] = parseInt(v[2], 10);
      return (pv[0] > v[0] || (pv[0] == v[0] && pv[1] > v[1]) || (pv[0] == v[0] && pv[1] == v[1] && pv[2] >= v[2])) ? true : false;
    /* Cross-browser dynamic CSS creation
      - Based on Bobby van der Sluis' solution: http://www.bobbyvandersluis.com/articles/dynamicCSS.php
    function createCSS(sel, decl) {
      if (ua.ie && ua.mac) {
       return;
      var h = doc.getElementsByTagName("head")[0], s = createElement("style");
      s.setAttribute("type", "text/css");
      s.setAttribute("media", "screen");
      if (!(ua.ie && ua.win) && typeof doc.createTextNode != UNDEF) {
       s.appendChild(doc.createTextNode(sel + " {" + decl + "}"));
      h.appendChild(s);
      if (ua.ie && ua.win && typeof doc.styleSheets != UNDEF && doc.styleSheets.length > 0) {
       var ls = doc.styleSheets[doc.styleSheets.length - 1];
       if (typeof ls.addRule == OBJECT) {
        ls.addRule(sel, decl);
    function setVisibility(id, isVisible) {
      var v = isVisible ? "inherit" : "hidden";
      if (isDomLoaded) {
       getElementById(id).style.visibility = v;
      else {
       createCSS("#" + id, "visibility:" + v);
    function getTargetVersion(obj) {
         if (!obj)
             return 0;
      var c = obj.childNodes;
      var cl = c.length;
      for (var i = 0; i < cl; i++) {
       if (c[i].nodeType == 1 && c[i].nodeName.toLowerCase() == "object") {
           c = c[i].childNodes;
           cl = c.length;
           i = 0;
       if (c[i].nodeType == 1 && c[i].nodeName.toLowerCase() == "param" && c[i].getAttribute("name") == "swfversion") {
          return c[i].getAttribute("value");
      return 0;
    function getExpressInstall(obj) {
         if (!obj)
             return "";
      var c = obj.childNodes;
      var cl = c.length;
      for (var i = 0; i < cl; i++) {
       if (c[i].nodeType == 1 && c[i].nodeName.toLowerCase() == "object") {
           c = c[i].childNodes;
           cl = c.length;
           i = 0;
       if (c[i].nodeType == 1 && c[i].nodeName.toLowerCase() == "param" && c[i].getAttribute("name") == "expressinstall") {
           return c[i].getAttribute("value");
      return "";
    return {
      /* Public API
       - Reference: http://code.google.com/p/swfobject/wiki/SWFObject_2_0_documentation
      registerObject: function(objectIdStr, swfVersionStr, xiSwfUrlStr) {
       if (!ua.w3cdom || !objectIdStr) {
        return;
       var obj = document.getElementById(objectIdStr);
       var xi = getExpressInstall(obj);
       var regObj = {};
       regObj.id = objectIdStr;
       regObj.swfVersion = swfVersionStr ? swfVersionStr : getTargetVersion(obj);
       regObj.expressInstall = xiSwfUrlStr ? xiSwfUrlStr : ((xi != "") ? xi : false);
       regObjArr[regObjArr.length] = regObj;
       setVisibility(objectIdStr, false);
      getObjectById: function(objectIdStr) {
       var r = null;
       if (ua.w3cdom && isDomLoaded) {
        var o = getElementById(objectIdStr);
        if (o) {
         var n = o.getElementsByTagName(OBJECT)[0];
         if (!n || (n && typeof o.SetVariable != UNDEF)) {
             r = o;
         else if (typeof n.SetVariable != UNDEF) {
          r = n;
       return r;
      embedSWF: function(swfUrlStr, replaceElemIdStr, widthStr, heightStr, swfVersionStr, xiSwfUrlStr, flashvarsObj, parObj, attObj) {
       if (!ua.w3cdom || !swfUrlStr || !replaceElemIdStr || !widthStr || !heightStr || !swfVersionStr) {
        return;
       widthStr += ""; // Auto-convert to string to make it idiot proof
       heightStr += "";
       if (hasPlayerVersion(swfVersionStr)) {
        setVisibility(replaceElemIdStr, false);
        var att = (typeof attObj == OBJECT) ? attObj : {};
        att.data = swfUrlStr;
        att.width = widthStr;
        att.height = heightStr;
        var par = (typeof parObj == OBJECT) ? parObj : {};
        if (typeof flashvarsObj == OBJECT) {
         for (var i in flashvarsObj) {
          if (flashvarsObj[i] != Object.prototype[i]) { // Filter out prototype additions from other potential libraries
           if (typeof par.flashvars != UNDEF) {
            par.flashvars += "&" + i + "=" + flashvarsObj[i];
           else {
            par.flashvars = i + "=" + flashvarsObj[i];
        addDomLoadEvent(function() {
         createSWF(att, par, replaceElemIdStr);
         if (att.id == replaceElemIdStr) {
          setVisibility(replaceElemIdStr, true);
       else if (xiSwfUrlStr && !isExpressInstallActive && hasPlayerVersion("6.0.65") && (ua.win || ua.mac)) {
        setVisibility(replaceElemIdStr, false);
        addDomLoadEvent(function() {
         var regObj = {};
         regObj.id = regObj.altContentId = replaceElemIdStr;
         regObj.width = widthStr;
         regObj.height = heightStr;
         regObj.expressInstall = xiSwfUrlStr;
         showExpressInstall(regObj);
      getFlashPlayerVersion: function() {
       return { major:ua.pv[0], minor:ua.pv[1], release:ua.pv[2] };
      hasFlashPlayerVersion:hasPlayerVersion,
      createSWF: function(attObj, parObj, replaceElemIdStr) {
       if (ua.w3cdom && isDomLoaded) {
        return createSWF(attObj, parObj, replaceElemIdStr);
       else {
        return undefined;
      createCSS: function(sel, decl) {
       if (ua.w3cdom) {
        createCSS(sel, decl);
      addDomLoadEvent:addDomLoadEvent,
      addLoadEvent:addLoadEvent,
      getQueryParamValue: function(param) {
       var q = doc.location.search || doc.location.hash;
       if (param == null) {
        return q;
        if(q) {
        var pairs = q.substring(1).split("&");
        for (var i = 0; i < pairs.length; i++) {
         if (pairs[i].substring(0, pairs[i].indexOf("=")) == param) {
          return pairs[i].substring((pairs[i].indexOf("=") + 1));
       return "";
      // For internal usage only
      expressInstallCallback: function() {
       if (isExpressInstallActive && storedAltContent) {
        var obj = getElementById(EXPRESS_INSTALL_ID);
        if (obj) {
         obj.parentNode.replaceChild(storedAltContent, obj);
         if (storedAltContentId) {
          setVisibility(storedAltContentId, true);
          if (ua.ie && ua.win) {
           storedAltContent.style.display = "block";
         storedAltContent = null;
         storedAltContentId = null;
         isExpressInstallActive = false;
    Can someone please help!  I've looked and tried prety much everything.  If you can provide a solution I would GREATLY apreciate it!

    There is no Flash player version 15... as in your code:
    <param name="swfversion" value="15.0.0.0" />
    For some reason Adobe thought it would be a good idea to target a Flash player version (15) as default.....which may be out a couple years in the future. Go figure!!!
    If you don't like player version 9, change to 10 or 11.... just not 15 (yet).
    Best wishes,
    Adninjastrator

  • Question: My spry menu bar is not displaying correctly in Dreamweaver

    Hello,
    I am  new to Dreamweaver CS5, so coding isn't my area of expertise. My problem with my spry menu bar is that it does not display the tabs on the menu bar correctly. When I try to apply new changes to the CSS of the horizontal menu bar, half of the tabs will change and the other half will not. Also, I am unable to drag and move the menu bar itself around, a function that I was once able to do before. At times, only one tab of the menu bar will display itself, without any of the other tabs as well.
    I have a hunch that my problems stem from some coding errors in the SpryMenuBarHorizontal.css, and possibly in the SpryMenuBar.js. On the CSS Styles panel, my SpryMenuBarHorizontal.CSS list reads as follows:
    I also have a hunch that something about this line-up is also incorrect, but I don't exactly know what the problem is.
    Here is what my coding for my SpryMenuBarHorizontal.css looks like right now:
    @charset "UTF-8";
    /* SpryMenuBarHorizontal.css - version 0.6 - Spry Pre-Release 1.6.1 */
    /* Copyright (c) 2006. Adobe Systems Incorporated. All rights reserved. */
    LAYOUT INFORMATION: describes box model, positioning, z-order
    /* 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;
        text-align: center;
    /* 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;
        width: 8em;
        float: left;
        left: 10;
        top: 10;
        height: 10;
    /* 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;
        width: 8.2em;
        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 #CCC;
        text-align: left;
    /* Menu items are a light gray block with padding and no text decoration */
    ul.MenuBarHorizontal a
        display: block;
        cursor: pointer;
        background-color: #000;
        padding: 0.5em 0.75em;
        color: #FFF;
        text-decoration: none;
        font-family: Futura;
        float: none;
    /* Menu items that have mouse over or focus have a blue background and white text */
    ul.MenuBarHorizontal a:hover, ul.MenuBarHorizontal a:focus
        background-color: #C00;
        color: #FFF;
    /* 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: #C00;
        color: #FFF;
    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%;
        text-align: center;
    /* 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;
        filter:alpha(opacity:0.1);
    /* 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: block;
        f\loat: left;
        background: #FFF;
    And here is what my SpryMenuBar.js coding looks like right now too:
    SpryMenuBar.js
    This file handles the JavaScript for Spry Menu Bar.  You should have no need
    to edit this file.  Some highlights of the MenuBar object is that timers are
    used to keep submenus from showing up until the user has hovered over the parent
    menu item for some time, as well as a timer for when they leave a submenu to keep
    showing that submenu until the timer fires.
    (function() { // BeginSpryComponent
    if (typeof Spry == "undefined") window.Spry = {}; if (!Spry.Widget) Spry.Widget = {};
    Spry.BrowserSniff = function()
        var b = navigator.appName.toString();
        var up = navigator.platform.toString();
        var ua = navigator.userAgent.toString();
        this.mozilla = this.ie = this.opera = this.safari = false;
        var re_opera = /Opera.([0-9\.]*)/i;
        var re_msie = /MSIE.([0-9\.]*)/i;
        var re_gecko = /gecko/i;
        var re_safari = /(applewebkit|safari)\/([\d\.]*)/i;
        var r = false;
        if ( (r = ua.match(re_opera))) {
            this.opera = true;
            this.version = parseFloat(r[1]);
        } else if ( (r = ua.match(re_msie))) {
            this.ie = true;
            this.version = parseFloat(r[1]);
        } else if ( (r = ua.match(re_safari))) {
            this.safari = true;
            this.version = parseFloat(r[2]);
        } else if (ua.match(re_gecko)) {
            var re_gecko_version = /rv:\s*([0-9\.]+)/i;
            r = ua.match(re_gecko_version);
            this.mozilla = true;
            this.version = parseFloat(r[1]);
        this.windows = this.mac = this.linux = false;
        this.Platform = ua.match(/windows/i) ? "windows" :
                        (ua.match(/linux/i) ? "linux" :
                        (ua.match(/mac/i) ? "mac" :
                        ua.match(/unix/i)? "unix" : "unknown"));
        this[this.Platform] = true;
        this.v = this.version;
        if (this.safari && this.mac && this.mozilla) {
            this.mozilla = false;
    Spry.is = new Spry.BrowserSniff();
    // Constructor for Menu Bar
    // element should be an ID of an unordered list (<ul> tag)
    // preloadImage1 and preloadImage2 are images for the rollover state of a menu
    Spry.Widget.MenuBar = function(element, opts)
        this.init(element, opts);
    Spry.Widget.MenuBar.prototype.init = function(element, opts)
        this.element = this.getElement(element);
        // represents the current (sub)menu we are operating on
        this.currMenu = null;
        this.showDelay = 250;
        this.hideDelay = 600;
        if(typeof document.getElementById == 'undefined' || (navigator.vendor == 'Apple Computer, Inc.' && typeof window.XMLHttpRequest == 'undefined') || (Spry.is.ie && typeof document.uniqueID == 'undefined'))
            // bail on older unsupported browsers
            return;
        // Fix IE6 CSS images flicker
        if (Spry.is.ie && Spry.is.version < 7){
            try {
                document.execCommand("BackgroundImageCache", false, true);
            } catch(err) {}
        this.upKeyCode = Spry.Widget.MenuBar.KEY_UP;
        this.downKeyCode = Spry.Widget.MenuBar.KEY_DOWN;
        this.leftKeyCode = Spry.Widget.MenuBar.KEY_LEFT;
        this.rightKeyCode = Spry.Widget.MenuBar.KEY_RIGHT;
        this.escKeyCode = Spry.Widget.MenuBar.KEY_ESC;
        this.hoverClass = 'MenuBarItemHover';
        this.subHoverClass = 'MenuBarItemSubmenuHover';
        this.subVisibleClass ='MenuBarSubmenuVisible';
        this.hasSubClass = 'MenuBarItemSubmenu';
        this.activeClass = 'MenuBarActive';
        this.isieClass = 'MenuBarItemIE';
        this.verticalClass = 'MenuBarVertical';
        this.horizontalClass = 'MenuBarHorizontal';
        this.enableKeyboardNavigation = true;
        this.hasFocus = false;
        // load hover images now
        if(opts)
            for(var k in opts)
                if (typeof this[k] == 'undefined')
                    var rollover = new Image;
                    rollover.src = opts[k];
            Spry.Widget.MenuBar.setOptions(this, opts);
        // safari doesn't support tabindex
        if (Spry.is.safari)
            this.enableKeyboardNavigation = false;
        if(this.element)
            this.currMenu = this.element;
            var items = this.element.getElementsByTagName('li');
            for(var i=0; i<items.length; i++)
                if (i > 0 && this.enableKeyboardNavigation)
                    items[i].getElementsByTagName('a')[0].tabIndex='-1';
                this.initialize(items[i], element);
                if(Spry.is.ie)
                    this.addClassName(items[i], this.isieClass);
                    items[i].style.position = "static";
            if (this.enableKeyboardNavigation)
                var self = this;
                this.addEventListener(document, 'keydown', function(e){self.keyDown(e); }, false);
            if(Spry.is.ie)
                if(this.hasClassName(this.element, this.verticalClass))
                    this.element.style.position = "relative";
                var linkitems = this.element.getElementsByTagName('a');
                for(var i=0; i<linkitems.length; i++)
                    linkitems[i].style.position = "relative";
    Spry.Widget.MenuBar.KEY_ESC = 27;
    Spry.Widget.MenuBar.KEY_UP = 38;
    Spry.Widget.MenuBar.KEY_DOWN = 40;
    Spry.Widget.MenuBar.KEY_LEFT = 37;
    Spry.Widget.MenuBar.KEY_RIGHT = 39;
    Spry.Widget.MenuBar.prototype.getElement = function(ele)
        if (ele && typeof ele == "string")
            return document.getElementById(ele);
        return ele;
    Spry.Widget.MenuBar.prototype.hasClassName = function(ele, className)
        if (!ele || !className || !ele.className || ele.className.search(new RegExp("\\b" + className + "\\b")) == -1)
            return false;
        return true;
    Spry.Widget.MenuBar.prototype.addClassName = function(ele, className)
        if (!ele || !className || this.hasClassName(ele, className))
            return;
        ele.className += (ele.className ? " " : "") + className;
    Spry.Widget.MenuBar.prototype.removeClassName = function(ele, className)
        if (!ele || !className || !this.hasClassName(ele, className))
            return;
        ele.className = ele.className.replace(new RegExp("\\s*\\b" + className + "\\b", "g"), "");
    // addEventListener for Menu Bar
    // attach an event to a tag without creating obtrusive HTML code
    Spry.Widget.MenuBar.prototype.addEventListener = function(element, eventType, handler, capture)
        try
            if (element.addEventListener)
                element.addEventListener(eventType, handler, capture);
            else if (element.attachEvent)
                element.attachEvent('on' + eventType, handler);
        catch (e) {}
    // createIframeLayer for Menu Bar
    // creates an IFRAME underneath a menu so that it will show above form controls and ActiveX
    Spry.Widget.MenuBar.prototype.createIframeLayer = function(menu)
        var layer = document.createElement('iframe');
        layer.tabIndex = '-1';
        layer.src = 'javascript:""';
        layer.frameBorder = '0';
        layer.scrolling = 'no';
        menu.parentNode.appendChild(layer);
        layer.style.left = menu.offsetLeft + 'px';
        layer.style.top = menu.offsetTop + 'px';
        layer.style.width = menu.offsetWidth + 'px';
        layer.style.height = menu.offsetHeight + 'px';
    // removeIframeLayer for Menu Bar
    // removes an IFRAME underneath a menu to reveal any form controls and ActiveX
    Spry.Widget.MenuBar.prototype.removeIframeLayer =  function(menu)
        var layers = ((menu == this.element) ? menu : menu.parentNode).getElementsByTagName('iframe');
        while(layers.length > 0)
            layers[0].parentNode.removeChild(layers[0]);
    // clearMenus for Menu Bar
    // root is the top level unordered list (<ul> tag)
    Spry.Widget.MenuBar.prototype.clearMenus = function(root)
        var menus = root.getElementsByTagName('ul');
        for(var i=0; i<menus.length; i++)
            this.hideSubmenu(menus[i]);
        this.removeClassName(this.element, this.activeClass);
    // bubbledTextEvent for Menu Bar
    // identify bubbled up text events in Safari so we can ignore them
    Spry.Widget.MenuBar.prototype.bubbledTextEvent = function()
        return Spry.is.safari && (event.target == event.relatedTarget.parentNode || (event.eventPhase == 3 && event.target.parentNode == event.relatedTarget));
    // showSubmenu for Menu Bar
    // set the proper CSS class on this menu to show it
    Spry.Widget.MenuBar.prototype.showSubmenu = function(menu)
        if(this.currMenu)
            this.clearMenus(this.currMenu);
            this.currMenu = null;
        if(menu)
            this.addClassName(menu, this.subVisibleClass);
            if(typeof document.all != 'undefined' && !Spry.is.opera && navigator.vendor != 'KDE')
                if(!this.hasClassName(this.element, this.horizontalClass) || menu.parentNode.parentNode != this.element)
                    menu.style.top = menu.parentNode.offsetTop + 'px';
            if(Spry.is.ie && Spry.is.version < 7)
                this.createIframeLayer(menu);
        this.addClassName(this.element, this.activeClass);
    // hideSubmenu for Menu Bar
    // remove the proper CSS class on this menu to hide it
    Spry.Widget.MenuBar.prototype.hideSubmenu = function(menu)
        if(menu)
            this.removeClassName(menu, this.subVisibleClass);
            if(typeof document.all != 'undefined' && !Spry.is.opera && navigator.vendor != 'KDE')
                menu.style.top = '';
                menu.style.left = '';
            if(Spry.is.ie && Spry.is.version < 7)
                this.removeIframeLayer(menu);
    // initialize for Menu Bar
    // create event listeners for the Menu Bar widget so we can properly
    // show and hide submenus
    Spry.Widget.MenuBar.prototype.initialize = function(listitem, element)
        var opentime, closetime;
        var link = listitem.getElementsByTagName('a')[0];
        var submenus = listitem.getElementsByTagName('ul');
        var menu = (submenus.length > 0 ? submenus[0] : null);
        if(menu)
            this.addClassName(link, this.hasSubClass);
        if(!Spry.is.ie)
            // define a simple function that comes standard in IE to determine
            // if a node is within another node
            listitem.contains = function(testNode)
                // this refers to the list item
                if(testNode == null)
                    return false;
                if(testNode == this)
                    return true;
                else
                    return this.contains(testNode.parentNode);
        // need to save this for scope further down
        var self = this;
        this.addEventListener(listitem, 'mouseover', function(e){self.mouseOver(listitem, e);}, false);
        this.addEventListener(listitem, 'mouseout', function(e){if (self.enableKeyboardNavigation) self.clearSelection(); self.mouseOut(listitem, e);}, false);
        if (this.enableKeyboardNavigation)
            this.addEventListener(link, 'blur', function(e){self.onBlur(listitem);}, false);
            this.addEventListener(link, 'focus', function(e){self.keyFocus(listitem, e);}, false);
    Spry.Widget.MenuBar.prototype.keyFocus = function (listitem, e)
        this.lastOpen = listitem.getElementsByTagName('a')[0];
        this.addClassName(this.lastOpen, listitem.getElementsByTagName('ul').length > 0 ? this.subHoverClass : this.hoverClass);
        this.hasFocus = true;
    Spry.Widget.MenuBar.prototype.onBlur = function (listitem)
        this.clearSelection(listitem);
    Spry.Widget.MenuBar.prototype.clearSelection = function(el){
        //search any intersection with the current open element
        if (!this.lastOpen)
            return;
        if (el)
            el = el.getElementsByTagName('a')[0];
            // check children
            var item = this.lastOpen;
            while (item != this.element)
                var tmp = el;
                while (tmp != this.element)
                    if (tmp == item)
                        return;
                    try{
                        tmp = tmp.parentNode;
                    }catch(err){break;}
                item = item.parentNode;
        var item = this.lastOpen;
        while (item != this.element)
            this.hideSubmenu(item.parentNode);
            var link = item.getElementsByTagName('a')[0];
            this.removeClassName(link, this.hoverClass);
            this.removeClassName(link, this.subHoverClass);
            item = item.parentNode;
        this.lastOpen = false;
    Spry.Widget.MenuBar.prototype.keyDown = function (e)
        if (!this.hasFocus)
            return;
        if (!this.lastOpen)
            this.hasFocus = false;
            return;
        var e = e|| event;
        var listitem = this.lastOpen.parentNode;
        var link = this.lastOpen;
        var submenus = listitem.getElementsByTagName('ul');
        var menu = (submenus.length > 0 ? submenus[0] : null);
        var hasSubMenu = (menu) ? true : false;
        var opts = [listitem, menu, null, this.getSibling(listitem, 'previousSibling'), this.getSibling(listitem, 'nextSibling')];
        if (!opts[3])
            opts[2] = (listitem.parentNode.parentNode.nodeName.toLowerCase() == 'li')?listitem.parentNode.parentNode:null;
        var found = 0;
        switch (e.keyCode){
            case this.upKeyCode:
                found = this.getElementForKey(opts, 'y', 1);
                break;
            case this.downKeyCode:
                found = this.getElementForKey(opts, 'y', -1);
                break;
            case this.leftKeyCode:
                found = this.getElementForKey(opts, 'x', 1);
                break;
            case this.rightKeyCode:
                found = this.getElementForKey(opts, 'x', -1);
                break;
            case this.escKeyCode:
            case 9:
                this.clearSelection();
                this.hasFocus = false;
            default: return;
        switch (found)
            case 0: return;
            case 1:
                //subopts
                this.mouseOver(listitem, e);
                break;
            case 2:
                //parent
                this.mouseOut(opts[2], e);
                break;
            case 3:
            case 4:
                // left - right
                this.removeClassName(link, hasSubMenu ? this.subHoverClass : this.hoverClass);
                break;
        var link = opts[found].getElementsByTagName('a')[0];
        if (opts[found].nodeName.toLowerCase() == 'ul')
            opts[found] = opts[found].getElementsByTagName('li')[0];
        this.addClassName(link, opts[found].getElementsByTagName('ul').length > 0 ? this.subHoverClass : this.hoverClass);
        this.lastOpen = link;
        opts[found].getElementsByTagName('a')[0].focus();
            //stop further event handling by the browser
        return Spry.Widget.MenuBar.stopPropagation(e);
    Spry.Widget.MenuBar.prototype.mouseOver = function (listitem, e)
        var link = listitem.getElementsByTagName('a')[0];
        var submenus = listitem.getElementsByTagName('ul');
        var menu = (submenus.length > 0 ? submenus[0] : null);
        var hasSubMenu = (menu) ? true : false;
        if (this.enableKeyboardNavigation)
            this.clearSelection(listitem);
        if(this.bubbledTextEvent())
            // ignore bubbled text events
            return;
        if (listitem.closetime)
            clearTimeout(listitem.closetime);
        if(this.currMenu == listitem)
            this.currMenu = null;
        // move the focus too
        if (this.hasFocus)
            link.focus();
        // show menu highlighting
        this.addClassName(link, hasSubMenu ? this.subHoverClass : this.hoverClass);
        this.lastOpen = link;
        if(menu && !this.hasClassName(menu, this.subHoverClass))
            var self = this;
            listitem.opentime = window.setTimeout(function(){self.showSubmenu(menu);}, this.showDelay);
    Spry.Widget.MenuBar.prototype.mouseOut = function (listitem, e)
        var link = listitem.getElementsByTagName('a')[0];
        var submenus = listitem.getElementsByTagName('ul');
        var menu = (submenus.length > 0 ? submenus[0] : null);
        var hasSubMenu = (menu) ? true : false;
        if(this.bubbledTextEvent())
            // ignore bubbled text events
            return;
        var related = (typeof e.relatedTarget != 'undefined' ? e.relatedTarget : e.toElement);
        if(!listitem.contains(related))
            if (listitem.opentime)
                clearTimeout(listitem.opentime);
            this.currMenu = listitem;
            // remove menu highlighting
            this.removeClassName(link, hasSubMenu ? this.subHoverClass : this.hoverClass);
            if(menu)
                var self = this;
                listitem.closetime = window.setTimeout(function(){self.hideSubmenu(menu);}, this.hideDelay);
            if (this.hasFocus)
                link.blur();
    Spry.Widget.MenuBar.prototype.getSibling = function(element, sibling)
        var child = element[sibling];
        while (child && child.nodeName.toLowerCase() !='li')
            child = child[sibling];
        return child;
    Spry.Widget.MenuBar.prototype.getElementForKey = function(els, prop, dir)
        var found = 0;
        var rect = Spry.Widget.MenuBar.getPosition;
        var ref = rect(els[found]);
        var hideSubmenu = false;
        //make the subelement visible to compute the position
        if (els[1] && !this.hasClassName(els[1], this.MenuBarSubmenuVisible))
            els[1].style.visibility = 'hidden';
            this.showSubmenu(els[1]);
            hideSubmenu = true;
        var isVert = this.hasClassName(this.element, this.verticalClass);
        var hasParent = els[0].parentNode.parentNode.nodeName.toLowerCase() == 'li' ? true : false;
        for (var i = 1; i < els.length; i++){
            //when navigating on the y axis in vertical menus, ignore children and parents
            if(prop=='y' && isVert && (i==1 || i==2))
                continue;
            //when navigationg on the x axis in the FIRST LEVEL of horizontal menus, ignore children and parents
            if(prop=='x' && !isVert && !hasParent && (i==1 || i==2))
                continue;
            if (els[i])
                var tmp = rect(els[i]);
                if ( (dir * tmp[prop]) < (dir * ref[prop]))
                    ref = tmp;
                    found = i;
        // hide back the submenu
        if (els[1] && hideSubmenu){
            this.hideSubmenu(els[1]);
            els[1].style.visibility =  '';
        return found;
    Spry.Widget.MenuBar.camelize = function(str)
        if (str.indexOf('-') == -1){
            return str;   
        var oStringList = str.split('-');
        var isFirstEntry = true;
        var camelizedString = '';
        for(var i=0; i < oStringList.length; i++)
            if(oStringList[i].length>0)
                if(isFirstEntry)
                    camelizedString = oStringList[i];
                    isFirstEntry = false;
                else
                    var s = oStringList[i];
                    camelizedString += s.charAt(0).toUpperCase() + s.substring(1);
        return camelizedString;
    Spry.Widget.MenuBar.getStyleProp = function(element, prop)
        var value;
        try
            if (element.style)
                value = element.style[Spry.Widget.MenuBar.camelize(prop)];
            if (!value)
                if (document.defaultView && document.defaultView.getComputedStyle)
                    var css = document.defaultView.getComputedStyle(element, null);
                    value = css ? css.getPropertyValue(prop) : null;
                else if (element.currentStyle)
                        value = element.currentStyle[Spry.Widget.MenuBar.camelize(prop)];
        catch (e) {}
        return value == 'auto' ? null : value;
    Spry.Widget.MenuBar.getIntProp = function(element, prop)
        var a = parseInt(Spry.Widget.MenuBar.getStyleProp(element, prop),10);
        if (isNaN(a))
            return 0;
        return a;
    Spry.Widget.MenuBar.getPosition = function(el, doc)
        doc = doc || document;
        if (typeof(el) == 'string') {
            el = doc.getElementById(el);
        if (!el) {
            return false;
        if (el.parentNode === null || Spry.Widget.MenuBar.getStyleProp(el, 'display') == 'none') {
            //element must be visible to have a box
            return false;
        var ret = {x:0, y:0};
        var parent = null;
        var box;
        if (el.getBoundingClientRect) { // IE
            box = el.getBoundingClientRect();
            var scrollTop = doc.documentElement.scrollTop || doc.body.scrollTop;
            var scrollLeft = doc.documentElement.scrollLeft || doc.body.scrollLeft;
            ret.x = box.left + scrollLeft;
            ret.y = box.top + scrollTop;
        } else if (doc.getBoxObjectFor) { // gecko
            box = doc.getBoxObjectFor(el);
            ret.x = box.x;
            ret.y = box.y;
        } else { // safari/opera
            ret.x = el.offsetLeft;
            ret.y = el.offsetTop;
            parent = el.offsetParent;
            if (parent != el) {
                while (parent) {
                    ret.x += parent.offsetLeft;
                    ret.y += parent.offsetTop;
                    parent = parent.offsetParent;
            // opera & (safari absolute) incorrectly account for body offsetTop
            if (Spry.is.opera || Spry.is.safari && Spry.Widget.MenuBar.getStyleProp(el, 'position') == 'absolute')
                ret.y -= doc.body.offsetTop;
        if (el.parentNode)
                parent = el.parentNode;
        else
            parent = null;
        if (parent.nodeName){
            var cas = parent.nodeName.toUpperCase();
            while (parent && cas != 'BODY' && cas != 'HTML') {
                cas = parent.nodeName.toUpperCase();
                ret.x -= parent.scrollLeft;
                ret.y -= parent.scrollTop;
                if (parent.parentNode)
                    parent = parent.parentNode;
                else
                    parent = null;
        return ret;
    Spry.Widget.MenuBar.stopPropagation = function(ev)
        if (ev.stopPropagation)
            ev.stopPropagation();
        else
            ev.cancelBubble = true;
        if (ev.preventDefault)
            ev.preventDefault();
        else
            ev.returnValue = false;
    Spry.Widget.MenuBar.setOptions = function(obj, optionsObj, ignoreUndefinedProps)
        if (!optionsObj)
            return;
        for (var optionName in optionsObj)
            if (ignoreUndefinedProps && optionsObj[optionName] == undefined)
                continue;
            obj[optionName] = optionsObj[optionName];
    })(); // EndSpryComponent
    If anyone could possibly steer me on the right direction with this, I'd be very grateful! I've been struggling with this for about a month now and I feel like I may have only made the situation worse.
    I'm not sure if I have to keep making a new spry assets folder in my website or not or if I have to drag and drop the spry assets into the root folder. I have restarted my website over at least a dozen times by now. I have tried changing folders, dragging and dropping various spry assets folders everywhere and I have also uninstalled and reinstalled my copy of Dreamweaver CS5 in the hopes of getting my spry horizontal menu bar to act normal. I am completely new at Dreamweaver and I really, really need some help with this.
    Thanks!

    I haven't been able to get my site posted up yet. Here is a link to it anyway:andrearosales.com
    I will be working on connecting my files up to my server. At the moment, here are some screen shots of some messages that I am getting when I am saving my file.
    I'm not sure what to make of these messages. I tried to put a new spry horizontal menu bar on my main page, and when it appeared, it displayed as a spry vertical menu bar.
    Here is a picture of what it looks like:
    I"m going to refer to the links that were suggested to me though. I'm not sure if pictures of the code will help to solve my problem. I'm going to try again to connect my files to my server though.

  • Is there a fix to the scrolling bug in Dreamweaver on Surface Pro 3?

    On my SP3 with the latest update of Dreamweaver CC I experience the code window merging lines over each other when scrolling.  This is hard to explain but say I pull the scroll bar down the lines of code appear to stay where they are but the line numbers move as expected.  This results in say line 30 displaying the contents of line 1.  Does that make any sense when reading...??!?  Anyway it is more than infuriating!  To get over this it sometimes helps to select the text in the window - but not a fullproof solution as it doesn't always work.  Any suggestions appreciated.
    Thanks.

    OK, here goes. Dreamweaver is currently not enabled to support touch devices.
    There isn't much that I can share at this moment except that we have registered this request and are looking towards addressing it in the future.
    Until then, we request you to continue using Dreamweaver similar to how you have been using it previously on your desktop.
    Also feel free to use the Ideas section on this forum to post your request and canvass for it.
    Thanks,
    Preran

  • Dreamweaver as code generator for use in other applications?

    Hello and thank you in advance for your time and your help!
    I realize and apologize for this lengthy post but I had to explain my issue thoroughly...
    I've just begun teaching myself to use Dreamweaver CS3 (on an iMac running OS X 10.5.8 - Leopard) with the  "Dreamweaver CS3 Missing Manual". I don't know HTML or CSS but am very  willing to learn as much as I can. In the near future, I hope to create a  new website for my domain in Dreamweaver. However, I have an urgent and  immediate need and would like to know whether Dreamweaver can serve a specific purpose...
    My question is whether I will still be able to accomplish the following (even if it is by different means) once I convert to Dreamweaver from FrontPage AND whether or not I should abolish all of the current files at my web server and remove FrontPage extensions before I invest any time into making Dreamweaver my new tool for website development and maintenance.
    I have a domain hosted by GoDaddy and a rather old website that I created using FrontPage 2002 (on a Windows XP desktop). For over 5 years now, I've used FrontPage so that I can work WYSIWYG to generate HTML code that I use in my eBay auction listings. Recently, however, the "network folder" for my web server (on the Windows XP desktop) stopped accepting my password and I cannot find a fix for it. It's my opportunity to finally break from FrontPage but I'm hoping that, before I do, someone can tell me whether or not Dreamweaver can serve my interim and long-term purposes.
    I've been uploading image files using the "network folder" in Windows XP that I set up with FrontPage over 5 years ago. I "drag and drop" or "cut and paste" image files from my computer to my web server in Windows Explorer via the "network folder". Once the images are on the web server, I open FrontPage and ensure that the images show up in my web server files. I then open an existing .html document that I have saved on my hard drive, replace text and images within the file, save the file under a different file name, and then switch to code view where I copy the code directly from FrontPage into my eBay listing. This works perfectly well and has for over 5 years. I do not publish these .html files to the web, nor do I upload the .html files to my web server. They exist only on my hard drive and simply to provide the underlying HTML code for the eBay listings and nothing more. This method allows the images in my eBay auctions to be automatically sourced to their location on my web server without requiring me to do anything more than insert the image(s) from my web server into the .html document/file.
    I think I'm discovering that Dreamweaver works specifically with websites and I'm wondering whether I can use it more generically in this way. If I'm learning correctly, Dreamweaver is quite particular about web server files having an exact match to a root folder on my hard drive. I've defined my site within Dreamweaver and I've since downloaded all existing files from my web server to my hard drive within a folder that is designated as the root folder. However, when I now open an existing .html document (one originally created in FrontPage and stored on my hard drive only) and replace an image (by cutting the existing image and dragging the other from the "remote view" of the "files" pane) with one that exists both on my web server and in my root folder, Dreamweaver makes the source/reference path point to the image file on my hard drive and, as you know, that won't do if I transfer that code to my eBay listing. So I've uploaded the actual .html file to the web server within Dreamweaver (something that I never had to do with FrontPage) and now I can change the HTML code manually (or the source in the "properties" panel for the image) for the image source to include "http://mydomain/..." (it doesn't include that automatically as FrontPage did). That now seems to make the code work but I have to store my .html files on the server and I have to make that manual change.
    My question is whether I will still be able to do accomplish  the following (even if it is by different means) once I convert to  Dreamweaver from FrontPage AND whether or not I should abolish all of  the current files at my web server and remove FrontPage extensions  before I invest any time into making Dreamweaver my new tool for website  development and maintenance.
    Thank you very sincerely for taking the time to read this and for your response and good advice!

    Get Turbo Lister (a free page editing and listing tool from eBay).
    http://pages.ebay.com/turbo_lister/
    eBay uses some seriously flawed markup on their auction pages.  In fact, they don't even ALLOW you to use good code. You're better off using their proprietary tools for this.   IMO, DW is not the right tool for creating eBay pages.
    When you're ready to build a serious web site, come back to Dreamweaver.
    Nancy O.
    Alt-Web Design & Publishing
    Web | Graphics | Print | Media  Specialists
    http://alt-web.com/
    http://twitter.com/altweb
    http://alt-web.blogspot.com

  • Open letter to adobe: What future for Fireworks?

    Open letter to adobe: What future for Fireworks?
    Hello, My name is Fred and I'm a Fireworks user since ever.
    I prefer to warn you about my complete addiction to this software.
    There's many discussions on this forum and others, on how you deal with Fireworks "improvements". Some say that you are in the process of discontinuing this program, others of a possible resale ... I even read some arguments about switching to Creative Commons license.
    All this is the literal translation of a sincere concern!
    Can you give us some answers on the future of Fireworks?
    I think our community is quite alive and active, so I hope that you'll respond in a clear, fast answer.
    Thank you in advance.
    If I made huge mistakes of spelling and grammar, I apologize.
    English is not my language.

    From the looks of it, the writing is already on the wall.  I own a Creative Cloud subscription and one of the main benefits touted for the Creative Cloud is regular updates and bug fixes.  And every other app like Dreamweaver, Photoshop, Illustrator, Indesign, Bridge, Lightroom, the Edge Tools, etc.  have seen multiple nice updates as part of the Creative Cloud subscription which has made me a big fan of Creative Cloud.  
    All except for Fireworks. 
    Not a single update or bug fix has occured for Fireworks in Creative Cloud.  Even for the simplest of things.  I have reported typos in Fireworks that still have not been fixed.  In fact, I think the only app in Creative Cloud that has not been updated is Fireworks.
    So like I said, it seems the writing is on the wall.  It's a shame too because even with its lack of care, it works phenomenally well for designing user interfaces.  But now others are starting to catch up and people seem to be switching to alternatives because Fireworks appears to be a dead end. 
    Without Fireworks, Adobe doesn't have a single UI design app in their portfolio and in particular it seems lots of UI designers are jumping ship now from Adobe to Bohemian Coding and their Sketch app. I'm dumbfounded that Adobe has allowed this to happen.
    From what I understand, the Sketch app is created by just two people which makes the inability to keep Fireworks updated all the more baffling.

  • Dreamweaver 8, html help + how to stop "styles"

    I have and continue to encounter great frustration over 2 things I encounter when using Dreamweaver 8 which, I am sure, are very easily solved matters. In advance...I apologize for my ignorance and would appreciate any input provided:
    1. I want to use Dreamweaver 8 to create HTML that I can paste into eBay ads. What emerges is HTML code by Dreamweaver that has no images appear because the image tags are: <img src="images/project/desiredimage1.jpg"> rather than whats needed,
    full path, such as <img src="http://www.mywebsite.com/images/project/desiredimage1.jpg">
    The result is that I have to copy and past the produced HTML into Open Office word processor, do "Find and Replace" ALL instances of img src="images with img src="http://www.mywebsite.com/images
    What can I do to produce HTML code from within Dreamweaver that already has the full path to an image rather than just PART of the path to an image?
    #2 is that when I make a webpage (or even just update a page in Dreamweaver) and I change the size or color of FONTS Dreamweaver applies a "STYLE" and number to that color and size of font so the result is HTML that is now, in places, got more HTML code preceeding text than any of you would probably believe + over 200 "Styles" created.
    Questions are: Can I build a webpage without these "styles" being applied.... just alter a font and/or size color without my doing so result in absurd numbers of HTML style tags being pasted in front of a given area of text and is there any rescue for a page that NOW HAS hundreds of STYLES created in regards to that HTML document and literally is so replete with HTML coding
    that its a nightmare
    (example: <p align="left" class="style267"><strong><span class="style19"><span class="style54">text) and I can't even change stuff in some areas because the changes just don't take which I assume is due to the mountain of uneccessary HTML coding born of this use of "Styles" which I don't even need.
    So...Bottom line is I just need to get Dreamweaver to produce HTML that has FULL image paths AND I need it to STOP with the "STYLES" tags....could it REALLY be that I am unable to change a font without this resulting in a new "STYLE" being created and an additional TAG for that new style being plastered before a line of text IN ADDITION to however many previous STYLE tags
    already were THERE??!!??
    Its really dreadful and the HTML of my webpage is a horror show....I think its LOST as in can't be saved...will have to be totally redone because of all the TAGS 90% of which don't need to be there. All thats needed is the most recent tag which corresponds to the latest font style, size color CHOSEN
    Please help me to avoid this in the future and to be able make HTML that already has full paths to images.
    Dayum even this forum is hard bcuz I had to come back in and edit so that scrolling wouldn't be necessary.....
    to read my post!!!
    This planet has definitely grown way complex REAL quickly

    1. For the image,why not type the full path into the link box in the property inspector
    2.  Those styles are appearing because you are styling the text via the property inspector.  You need to create a stylesheet, and create all your styles into that and link to it within the document.
    http://meyerweb.com/eric/articles/webrev/199710.html
    Nadia
    Adobe® Community Expert : Dreamweaver
    Unique CSS Templates |Tutorials |SEO Articles
    http://www.DreamweaverResources.com
    http://csstemplates.com.au/
    http://twitter.com/nadiap

  • Can I do this with forms in Dreamweaver / Coldfusion

    I'm looking to do the following:
    Create a form for the end-user to fill out info such as name,
    address, etc. and click submit. One field would contain a drop down
    for inputing their region. (I know I can do that part.)
    When the user click submits, I want the information entered
    into a database, and at the same time have a particular staff
    member notified, via e-mail that a new form has been filled out.
    (The particular staff person wouldn't be dependent upon the region
    selected.) In that e-mail, the staff person should get a link to
    click on. When they click on the link I want for it to bring them
    to a form that is prefilled with the info the end-user filled out,
    along with a few more fields for comments, etc.
    Then, that person would click submit after checking over the
    form, and the final person in the chain would get an e-mail and
    have an opportunity to review the data and add information in a
    couple of more fields.
    Is it possible to do this using Dreamweaver and Coldfusion?
    I'd rather not spend a ton of time researching it if it isn't. If
    it is possible, any pointers / tutorials would be greatly
    appreciated.
    Thank you.

    GlennC02108 wrote:
    > Is it possible to do this using Dreamweaver and
    Coldfusion? I'd rather not
    > spend a ton of time researching it if it isn't. If it is
    possible, any
    > pointers / tutorials would be greatly appreciated.
    Hi Glenn,
    Everything you mentioned is absolutely possible. The problem
    is that
    everything you mentioned is a separate and distinct task that
    you'll
    need to manage. If you want to build applications like this,
    it would
    definitely be worth your while to do the research to make
    this happen.
    At the risk of promoting content I created, I've done some
    ColdFusion
    training for lynda.com for Dreamweaver 8 (this all still
    applies to the
    CS products) that would probably answer most if not all of
    your questions.
    http://www.lynda.com/go/course?id=184
    If you'd rather do some reading, the CFWACK books are great
    and very
    in-depth:
    http://tinyurl.com/54z4vm
    I would definitely do yourself the favor of learning how to
    do it right
    in order to make this (and future jobs) smooth sailing.
    Daniel Short
    Site Drive, Inc. (
    http://www.sitedriveinc.com)
    Adobe Community Expert

  • Troubleshooting pop-up menu in Dreamweaver 8

    Hello,
    I'm using Macromedia Dreamweaver 8.
    1. Created a pop-menu woith 6 items all linking to 6 different anchors in a different page.
    2. The first 5 items work fine - they link up to the 5 anchors in the destination page.
    3. The 6th item when clicked simply closes the pop-menu and does not link to the anchor in the destination page.
        (Completely checked the anchor name and also tested that anchor by linking from a different page).
    Please reply asap.Please see HTML Code below:
    thanks
    allen
    DSM Home.html
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Dying Seed Home</title>
    <link href="DS_Home/DS_Home.css" rel="stylesheet" type="text/css" media="all"/>
    <script language="JavaScript">
    <!--
    function mmLoadMenus() {
    if (window.mm_menu_0802105338_0) return;
    window.mm_menu_0802105338_0 =  new Menu("root",120,23,"Arial Unicode  MS",11,"#000000","#000000","#3399FF","#CCCCCC","le   ft","middle",3,2,1000,-5,7,true,false,true,10,false,false);
    mm_menu_0802105338_0.addMenuItem("History","window  .open('About Us/Dark About Us.html#HISTORY', '_parent');");
    mm_menu_0802105338_0.addMenuItem("Milestones","win  dow.open('About Us/Dark About Us.html#MILESTONES', '_parent');");
    mm_menu_0802105338_0.addMenuItem("Mission Sta   tement","window.open('About Us/Dark About Us.html#MISSIONSTAT',  '_parent');");
    mm_menu_0802105338_0.addMenuItem("Faith State   ment","window.open('About Us/Dark About Us.html#FAITHSTAT',  '_parent');");
    mm_menu_0802105338_0.addMenuItem("Finance","window  .open('About Us/Dark About Us.html#FINANCE', '_parent');");
    mm_menu_0802105338_0.addMenuItem("Contact Us"  ,"window.open('About Us/Dark About Us.html#CONTACT', '_parent');");
    mm_menu_0802105338_0.fontWeight="bold";
    mm_menu_0802105338_0.hideOnMouseOut=true;
    mm_menu_0802105338_0.bgColor='#555555';
    mm_menu_0802105338_0.menuBorder=0;
    mm_menu_0802105338_0.menuLiteBgColor='#FFFFFF';
    mm_menu_0802105338_0.menuBorderBgColor='#777777';
    window.mm_menu_0803160751_0 = new Menu("root",172,23,"Arial Unicode  MS",11,"#000000","#000000","#3399FF","#CCCCCC","le   ft","middle",3,2,1000,-5,7,true,false,true,10,false,false);
    mm_menu_0803160751_0.addMenuItem("Administration",  "window.open('DS National/DS-National.html#ADMINS', '_parent');");
    mm_menu_0803160751_0.addMenuItem("Legacy","window.  open('DS National/DS-National.html#LEGACY', '_parent');");
    mm_menu_0803160751_0.addMenuItem("Departments","wi  ndow.open('DS National/DS-National.html#DEPTS', '_parent');");
    mm_menu_0803160751_0.addMenuItem("All India",  "window.open('DS National/DS-National.html#ALLINDIA', '_parent');");
    mm_menu_0803160751_0.addMenuItem("National Pr   omotion","window.open('DS National/DS-National.html#NATPROMO',  '_parent');");
    mm_menu_0803160751_0.addMenuItem("Dying Seed&   nbsp;Vision Institute","window.open('DS  National/DS-National.html#DSVI', '_parent');");
    mm_menu_0803160751_0.fontWeight="bold";
    mm_menu_0803160751_0.hideOnMouseOut=true;
    mm_menu_0803160751_0.bgColor='#555555';
    mm_menu_0803160751_0.menuBorder=0;
    mm_menu_0803160751_0.menuLiteBgColor='#FFFFFF';
    mm_menu_0803160751_0.menuBorderBgColor='#777777';
    window.mm_menu_0804102108_0 = new Menu("root",138,23,"Arial  Unicode MS",11,"#000000","#000000","#3399FF","#CCCCCC","le   ft","middle",3,2,1000,-5,7,true,false,true,10,true,false);
    mm_menu_0804102108_0.addMenuItem("Call &&amp;   nbsp;Vision","window.open('DS  International/DS-International.html#CALLVISN', '_parent');");
    mm_menu_0804102108_0.addMenuItem("Patrons &&a   mp;nbsp;Partners","window.open('DS  International/DS-International.html#PATPART', '_parent');");
    mm_menu_0804102108_0.addMenuItem("Overseas Mi   nistry","window.open('DS International/DS-International.html#OVERMISS',  '_parent');");
    mm_menu_0804102108_0.addMenuItem("Contact Us"  );
    mm_menu_0804102108_0.fontWeight="bold";
    mm_menu_0804102108_0.hideOnMouseOut=true;
    mm_menu_0804102108_0.bgColor='#555555';
    mm_menu_0804102108_0.menuBorder=0;
    mm_menu_0804102108_0.menuLiteBgColor='#FFFFFF';
    mm_menu_0804102108_0.menuBorderBgColor='#777777';
    mm_menu_0804102108_0.writeMenus();
    } // mmLoadMenus()
    function MM_initTimelines() { //v4.0
    //MM_initTimelines() Copyright 1997 Macromedia, Inc. All rights reserved.
    var ns = navigator.appName == "Netscape";
    var ns4 = (ns && parseInt(navigator.appVersion) == 4);
    var ns5 = (ns && parseInt(navigator.appVersion) > 4);
    var macIE5 = (navigator.platform ? (navigator.platform == "MacPPC") :  false) && (navigator.appName == "Microsoft Internet Explorer")  && (parseInt(navigator.appVersion) >= 4);
    document.MM_Time = new Array(1);
    document.MM_Time[0] = new Array(1);
    document.MM_Time["Timeline1"] = document.MM_Time[0];
    document.MM_Time[0].MM_Name = "Timeline1";
    document.MM_Time[0].fps = 15;
    document.MM_Time[0][0] = new String("sprite");
    document.MM_Time[0][0].slot = 1;
    if (ns4)
    document.MM_Time[0][0].obj = document["Layer2"];
    else if (ns5)
    document.MM_Time[0][0].obj = document.getElementById("Layer2");
    else
    document.MM_Time[0][0].obj = document.all ? document.all["Layer2"] : null;
    document.MM_Time[0][0].keyFrames = new Array(1, 15);
    document.MM_Time[0][0].values = new Array(5);
    if (ns5 || macIE5)
    document.MM_Time[0][0].values[0] = new Array("318px", "318px",  "318px", "318px", "318px", "318px", "318px", "318px", "317px", "317px",  "317px", "317px", "317px", "317px", "317px");
    else
    document.MM_Time[0][0].values[0] = new Array(318,318,318,318,318,318,318,318,317,317,317,  317,317,317,317);
    document.MM_Time[0][0].values[0].prop = "left";
    if (ns5 || macIE5)
    document.MM_Time[0][0].values[1] = new Array("78px", "78px",  "79px", "79px", "79px", "79px", "80px", "80px", "80px", "81px", "81px",  "81px", "81px", "82px", "82px");
    else
    document.MM_Time[0][0].values[1] = new Array(78,78,79,79,79,79,80,80,80,81,81,81,81,82,82  );
    document.MM_Time[0][0].values[1].prop = "top";
    if (!ns4) {
    document.MM_Time[0][0].values[0].prop2 = "style";
    document.MM_Time[0][0].values[1].prop2 = "style";
    if (ns5 || macIE5)
    document.MM_Time[0][0].values[2] = new Array("0px", "0px",  "0px", "0px", "0px", "0px", "0px", "0px", "0px", "0px", "0px", "0px",  "0px", "0px", "0px");
    else
    document.MM_Time[0][0].values[2] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
    document.MM_Time[0][0].values[2].prop = "width";
    if (!ns4)
    document.MM_Time[0][0].values[2].prop2 = "style";
    if (ns5 || macIE5)
    document.MM_Time[0][0].values[3] = new Array("0px", "0px",  "0px", "0px", "0px", "0px", "0px", "0px", "0px", "0px", "0px", "0px",  "0px", "0px", "0px");
    else
    document.MM_Time[0][0].values[3] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
    document.MM_Time[0][0].values[3].prop = "height";
    if (!ns4)
    document.MM_Time[0][0].values[3].prop2 = "style";
    document.MM_Time[0][0].values[4] = new Array("0","0");
    document.MM_Time[0][0].values[4].prop = "zIndex";
    if (!ns4)
    document.MM_Time[0][0].values[4].prop2 = "style";
    document.MM_Time[0].lastFrame = 15;
    for (i=0; i<document.MM_Time.length; i++) {
    document.MM_Time[i].ID = null;
    document.MM_Time[i].curFrame = 0;
    document.MM_Time[i].delay = 1000/document.MM_Time[i].fps;
    //-->
    </script>
    <script language="JavaScript" src="DS_Home/mm_menu.js"></script>
    </head>
    <body>
    <script language="JavaScript1.2">mmLoadMenus();</script>
    <h1 align="center"><img src="Images/Dark_Wheat banner.jpg"  alt="" name="WheatBanner" width="1085" height="230" id="WheatBanner"  /></h1>
    <div id="Layer1">
    <p align="center"><span class="verse1">Unless a grain of wheat falls into the
    earth and dies, it remains alone, but if it dies it bears much fruit. John
    12:24</span></p>
    </div>
    <div id="Layer2" width="50" align="center"><span class="welcome">Welcome to Dying
    Seed!</span> </div>
    <div id="Layer6" align="center">
    <p align="right" class="slogan">Dying Seed is carved in
    this stone: &lsquo;You gain by losing; you reap by sowing; you live by dying&rsquo;<br /><br />
    </p>
    </div>
    <div id="Layer12"><span class="slogan">.&hellip;.and when God&rsquo;s hand carves,
    never miss it!</span></div>
    <h1 align="center" class="slogan"> </h1>
    <div id="Layer7"><img src="Images/pinned-up2.jpg" width="200" height="262" alt="pics" /></div>
    <div id="Layer5">
    <table width="915" height="41" align="center">
    <tr>
    <th width="125" align="center" valign="bottom"  scope="col"><span class="menutxt"> <a href="#" name="link4"  id="link1" onmouseover="MM_showMenu(window.mm_menu_0802105338   _0,0,-148,null,'link4')" onmouseout="MM_startTimeout();">About
    Us</a></span></th>
    <th width="183" align="center" valign="bottom"  scope="col"><span class="menutxt"><a href="#" name="link5"  id="link2" onmouseover="MM_showMenu(window.mm_menu_0803160751   _0,0,-148,null,'link5')" onmouseout="MM_startTimeout();">DS
    National</a></span></th>
    <th width="209" align="center" valign="bottom"  scope="col"><span class="menutxt"><a href="#" name="link7"  id="link3" onmouseover="MM_showMenu(window.mm_menu_0804102108   _0,0,-98,null,'link7')" onmouseout="MM_startTimeout();">DS
    International </a></span></th>
    <th width="222" align="center" valign="bottom" scope="col"><span class="menutxt"><a href="#">Future
    Objectives </a></span></th>
    <th width="152" align="center" valign="bottom"  scope="col"><span class="menutxt"><a  href="#">Gallery</a></span></th>
    </tr>
    </table>
    </div>
    <div id="Layer9">
    <div align="left"><span class="style1">Ever wondered about  the grandeur of  simplicity?</span>       &nb   sp;    <span class="style1">See
    our <a href="About Us/Dark About Us.html#HISTORY"  target="_parent"  class="blinks">History</a></span></div>
    </div>
    <div id="Layer10"><span class="style1">Or known what He can  do with rugged perseverance?</span>   <span  class="style1">Stop
    by our <a href="About Us/Dark About Us.html#MISSIONSTAT" class="blinks">Mission</a></span></div>
    <div id="Layer11">
    <div align="left"><span class="style1">But to know what  God is yet to do?</span><span  class="style1">     &nbsp    ;        &    nbsp;       &nb    sp;       &nbsp   ;     Stay
    with <a href="About Us/Dark About Us.html#CONTACT" class="blinks">us</a></span></div>
    </div>
    </body>
    </html>

    Step away from the keyboard.
    Don't use those pop-up menus. They are really awful.
    Check the uberlink and MacFly tutorials at PVII -
    http://www.projectseven.com/
    and the Navbar tutorial/articles at Thierry's place
    http://tjkdesign.com/articles/dropdown/
    Or this one (more recent article):
    http://tjkdesign.com/articles/Pure_CSS_Dropdown_Menus.asp
    Or to get it done fast, go here -
    http://www.projectseven.com/tutorials/navigation/auto_hide/index.htm
    Murray --- ICQ 71997575
    Adobe Community Expert
    (If you *MUST* email me, don't LAUGH when you do so!)
    ==================
    http://www.dreamweavermx-templates.com
    - Template Triage!
    http://www.projectseven.com/go
    - DW FAQs, Tutorials & Resources
    http://www.dwfaq.com - DW FAQs,
    Tutorials & Resources
    http://www.macromedia.com/support/search/
    - Macromedia (MM) Technotes
    ==================
    "aebell" <[email protected]> wrote in
    message
    news:ern5k6$b$[email protected]..
    > Hello,
    >
    > Someone please help me..... I can't get the show-pop up
    menu to work in
    > IE browser. What do I do?

Maybe you are looking for

  • Enhanced 3 fields unavailable in BI after DS enhancement

    I did datasource enhancement in R/3 to add 3 fields into DS "0FI_GL_4". Then I go to RSA6 to click unhide for those 3 fields, activate DS. And then I put coding in CMOD. After that I replicate DS to BW system. I found those 3 fields are existing in D

  • SharePoint 2013 Environment Setup with minimum resource

    Hi, Could you please advise considering below scenario - What would be the minimum resources in order to setup SP2013 Enterprise environment? - If we want to buy a single server from DELL as a host for all virtual machines as below, what would be the

  • How do I undo a dual boot?

    I have a machine running win 8.1. I used Keith Mayer's instructions to setup dual boot with server 2012 R2 core with Gui. I would like to undo this and return to single boot. I have tried to run Diskpart and find the Vdisk and detach it. The system s

  • Pickin a linux server for work

    hey all!  my workplace is pretty windows centric, and we're deciding to slowly move towards linux and linux dev tools to save costs in licensing (cuz gcc kicks butt!) anyways, here's the criteria i need 1) security 2) stability 3) support my co-worke

  • Damage carry over?

    We have the following setup: Chassis: PXI-1042 Controller: PXI-8105 Module: PXI-7833R Breakout box: SCB-68 The break out box is used for the module, and we use the internal 5V that is on it.  Accidentally, I think we shorted the 5V to groud, so it no