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: 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: Why can't I have more than 5 buttons in Vista 1?
If I add any the color proporties do not show up.
A: You should assign Individual style to the new item.
Please, click on the new item.
In the window "Item Parameters" you should assign to Item Style"Top Item".
Q: Could you please tel me : How to use UN-Code on the item. I make some menu based on Farsi language ( Arabic) , but it does not work.
A: You're able to use any characters for Deluxe Menu in the same way asyou use them for standard html page.
The only issue is that submenus can be shown in incorrect positionwhen you're using dir=rtl for your page.
var dmRTL = 0;
Set this parameter to 1 if you're using right-to-left direction of html page <HTML dir=rtl>.
Use also
var smViewType = 2;
for right-to-left languages.
Please, see example:
http://deluxe-menu.com/ways-showing-submenus-sample.html
This examples demonstrates how the menu can change a submenusdirection. Use var smViewType parameter to change a submenusdirection:
var smViewType = 0..3;
Values:
0 - from left to right;
1 - from left to right + upwards;
2 - from right to left;
3 - from right to left + upwards;
In Deluxe Menu when you call data .js file you can try to specify the encoding:
<script src="data.js" charset="utf-8"></script>
Unfortunately, you can't use arabic characters in Deluxe Tuner application.
You should manually correct your code.