Recent Questions
Q: Hello, I am trying out your dhtml menu and would like to load an iframe into one of the menus, how would I go about this?
A: If you want to insert <iframe> object inside a menu item you can do following things.
You can paste any html code into menu items, for example:
["item text <iframe src="link"></iframe>", link, ...]
Q: Compliments on your product, I particularly enjoy the complete set of gui and java, that allows for the quick changes.
After a couple of months of using the trial, I have now purchased it and installed the license.
My question however regards the performance of the menu. Using firebug I note that my deluxe menu .js are the performance bottlenecks, It appears as if they are not being cached and it appears that collecting them is taking longer then the other .js files. What can I do to optimize the load time of the javascript multi level menu and prevent, reloading it from the server with every page reload. The apache has set the expiry correct I believe, as I understand from the header.
A: You can try to use AJAX technology.
AJAX-like technology: data for submenus can be loaded "on-the-fly" from the server.
New parameter:
var tajax = 0/1; - disables/enables AJAX-like support
Current syntax for item parameters ( var tmenuItems):
[text, link, iconNormal, iconOver, iconExpanded, tip, target, itemStyleInd, itemXPStyleInd, jsFileName]
Where jsFileName - .js filename on the server with submenu items ( var tmenuItems).
Q: The menu maps to the width size of the longest menu item on the list, can you tell me how I can restrict this, and have a fixed menu size.
A: Unfortunately it is really so.
You can try to wrap your text.
You should set the following parameter:
var noWrap = 0;
or use <br> tags within menuItems.
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] +'" />';
}