Recent Questions
Q: I have an HTML application with 4 iframes. The main html file contains 3 iframes (top toolbar, left toolbar, and main area) and the menu. The main area iframe contains one additional iframe were the actual data is. When I interact with the data in this last iframe and try to dynamically change the menu in the .html file I get the error message: 'm' is null or not an object
The API call is:
dm_ext_addItem(0, 0, ["test1", "testlink.htm", "", "", "test1m", "_blank", "1"]);
I only have one menu.
I am using IE6
I included these files in both the hta file and the iframe source file.
<script type="text/javascript" src="./data.files/dmenu.js"></script>
<script type="text/javascript" src="./data.files/dmenu_dyn.js"></script>
<script type="text/javascript" src="./data.files/dmenu_key.js"></script>
A: Deluxe Menu doesn't work with <IFrame> objects. It works with<frameset> objects only. All it can to do with <IFrame> is to loadpages into it.
You should use standard installation for the menu (cross-frame mode).
See more info here:
http://deluxe-menu.com/cross-frame-mode-sample.html
http://deluxe-menu.com/data-samples/cross-frame-horizontal-1-sample.htm
There is no need to call dmenu_...js files.
<script type="text/javascript" src="./data.files/dmenu.js"></script>
<script type="text/javascript" src="./data.files/dmenu_dyn.js"></script>
<script type="text/javascript" src="./data.files/dmenu_key.js"></script>
You should write:
<!-- Deluxe Menu -->
<noscript><a href="http://deluxe-menu.com">Javascript Menu by Deluxe-Menu.com</a></noscript>
<script type="text/javascript"> var dmWorkPath = "./data.files/";</script>
<script type="text/javascript" src="./data.files/dmenu.js"></script>
<!-- (c) 2006, http://deluxe-menu.com -->
Q: Is there a way to programmatically specify which tab is selected in the drop down menu using javascript?
What I mean is, I want to set the selected tab programmatically (Not clicking the tab).
A: Deluxe Tabs doesn't support API functions which can return theselected tab.
If your site is written on PHP you can set "bselectedItem" and "varbselectedSmItem" parameters based on your link beforeyou call your data file.
For example, move "bselectedItem" and " var bselectedSmItem" parametersfrom your data file to your code.
<TD vAlign=top align=left>
/* Select Tab */
<script type="text/javascript" language="JavaScript1.2">
var bselectedItem=<?php echo $seltabs; ?>;
var bselectedSmItem=<?php echo $selsmtabs; ?>;
</script>
<SCRIPT src="data.js" type=text/javascript></SCRIPT>
</TD>
You should define seltabs and selsmtabs using server side script.
You can also set it on every page before you call data.js file, forexample:
<TD vAlign=top align=left>
/* Select Tab */
<script type="text/javascript" language="JavaScript1.2">
var bselectedItem=4;
var bselectedSmItem=3;
</script>
<SCRIPT src="data.js" type=text/javascript></SCRIPT>
</TD>
Q: Can I use javascript to get the object (getElementByID). If not howdo I hide my dropdown menu on print?
A: You can add a new button to print your page and call onClick event, soyou should write:
<body ....
onClick="document.getElementById('dm0m0').style.visibility='hidden'; window.print();">
...
</body>
Or you can use the same javascript code from your menu item.
For example:
var menuItems = [
["Print", "javascript:document.getElementById('dm0m0').style.visibility='hidden';
window.print();", icon1, icon2],
];
But if you want to hide the menu when your customers push "File/Print"you should write so:
You must create two functions, for example:
function myprint()
{ document.getElementById('dm0m0').style.visibility='hidden';
window.print();
}
function myprint2()
{ document.getElementById('dm0m0').style.visibility='visible';
window.print();
}
You should add this functions into your code.
And then you must write so:
window.onbeforeprint = myprint;
window.onafterprint = myprint2;
Q: I am working currently with deluxe-menu and am perfectly happy so far except one little thing: Does there exist a way to have the mousepointer being a hand instead of the regular pointer while going over the menu (like it would be regular links)?
A: You should set this parameter:
var itemCursor="pointer";
In this case you'll have the mousepointer being a hand for all itemsin the menu.
Unfortunately, you can't change cursor type for different items.
But you can write so:
["<a href='http://deluxe-menu.com/'>Home</a>","", , , , , , , , ],
["Product Info","", , , , , "0", , , ],
["|What's New","", , , , , "0", , , ],
In all items with links you should use <a> tag.
Set this parameter:
var itemCursor="default";