Recent Questions
Q: How does an item on the simple html menu connect to pages?
A: You should create menu items in the Deluxe Tuner and specify link and target for each item, for example:
var menuItems = [
["Upcoming Trainings","http://domain.org/pub/upcoming-trainings", "", "", "", "_self", "", "", "", "", "", ],
["Conferences & Workshops","upcoming-workshops.html", "", "", "", "_blank", "", "", "", "", "", ],
["Continuing Ed","ceu.html", "", "", "", "main", "", "", "", "", "", ],
];Q: The cascading javascript menu does not spans frames or windows like Applets. Is that correct?
I was not able to make the sample to do it.
A: The DHTML Menu and Java Menu are built on different technologies.Java menus can create submenus that cover frames as a standard Windowssubmenus. DHTML Menu can't do that, because it's controls is htmlobjects, they can't overlap Windows controls. So, cascading javascript menu hascross-frame ability that allows it to show submenus in differentframes. But it can support this mode for the same domain only -- ifyou loaded a page to a subframe from another domain, the submenuscan't be shown in it. It happens because all browsers don't allow todo that for security reasons. Just imagine if you'll able to create aframeset from 2 frames, 1st frame will be with a zero height-width,and you'll load your page into it. Then user will go to another domainand your "invisible" frame will change a content of other pages!
See more info about cross-frame mode here:
http://deluxe-menu.com/cross-frame-mode-sample.html
Q: Is this tag necessary?
<script type="text/javascript"> var dmWorkPath="scripts/";</script>
Because Dreamweaver will not automatically update the path when the directory changes, (won't change from scripts/ to ../scripts).
A: Yes, it is a necessary tag.
Your menu won't work correctly without this tag.
Q: Sorry to bother you again, but we've done everything suggested in your fix regarding flash obscuring the multiple drop down menu, but we're still having the same problem in Firefox.
We've - set the parameter in the data file to - var dmObjectsCheck=1;
We've added the following to the start of the data file -
function dm_ext_ruleObjectHide()
{
return false;
}
We've embeded the flash as suggested to -
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
height="150" width="732" name="if-header">
<param name="movie" value="images/flash/if-header.swf">
<param name="quality" value="best">
<param name="play" value="true">
<param name="wmode" value="opaque">
<embed height="150" name="if-header"
pluginspage="http://www.macromedia.com/go/getflashplayer"
src="images/flash/if-header.swf"
type="application/x-shockwave-flash" width="732" quality="best"
wmode="opaque" play="true">
</object>
But still our multiple drop down menu sits behind the flash. Are we missing something else?
A: See it is necessary to have opaque parameters in <object> and <embed>tags to display submenus correctly in Firefox.
So, you should open .js file for your flash and find "embed" and"object" words.
And add opaque parameters, for example:
swfNode = '<embed type="application/x-shockwave-flash" wmode="opaque" src="'+ this.getAttribute('swf') +'" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') +'"';
swfNode += ' id="'+ this.getAttribute('id') +'" name="'+ this.getAttribute('id') +'" ';
var params = this.getParams();
for( var key in params){ swfNode += [key] +'="'+ params[key] +'" '; }
var pairs = this.getVariablePairs().join("&");
if (pairs.length > 0){ swfNode += 'flashvars="'+ pairs +'"'; }
swfNode += '/>';
} else { // PC IE
if (this.getAttribute("doExpressInstall")) {
this.addVariable("MMplayerType", "ActiveX");
this.setAttribute('swf', this.xiSWFPath);
}
swfNode = '<object id="'+ this.getAttribute('id') +'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') + '">';
swfNode += '<param name="movie" value="'+ this.getAttribute('swf') +'" /> <param name="wmode" value="opaque"> ';
var params = this.getParams();
for( var key in params) {
swfNode += '<param name="'+ key +'" value="'+ params[key] +'" />';
}