>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >Использование ENTITY в javascript http://forum.mozilla-russia.org/viewtopic.php?id=8067 |
d1pr3d > 03-02-2006 13:28:14 |
Привет. Выделить код Код:function qlinks_linksMenuPopulate() { var qlinks_menu = document.getElementById('qlinks-links-menu'); // удаляю все старые пункты меню for (i=qlinks_menu.childNodes.length; i>0; i--) qlinks_menu.removeChild(qlinks_menu.childNodes[0]); var linksArray = qlinks_links2arr(); arrl_cc = linksArray.length; // здесь заполнение if (arrl_cc>0) { for (loop=0; loop<arrl_cc; loop++) { var tmp_elem = document.createElement("menuitem"); tmp_elem.setAttribute("label", linksArray[loop].name); tmp_elem.setAttribute("tooltiptext", linksArray[loop].link); tmp_elem.setAttribute("oncommand", "qlinks_goto(event, '"+linksArray[loop].link+"');event.preventBubble();"); qlinks_menu.appendChild(tmp_elem); } qlinks_menu.appendChild(document.createElement("menuseparator")); } // попробуем создать открывашку окна var newwin_item = document.createElement("menuitem"); newwin_item.setAttribute("label", "Настройки"); newwin_item.setAttribute("tooltiptext", "Настройки"); newwin_item.setAttribute("oncommand", "window.open('chrome://qlinks/content/qlinks-prefs-window.xul', 'qlinks-prefs-window', 'chrome, width=600, height=300, resizable=yes, centerscreen, modal');event.preventBubble();"); qlinks_menu.appendChild(newwin_item); // получилось return true; }// qlinks_linksMenuPopulate() вот само меню Проблема в том, что если я при добавлении последнего пункта "Настройки", вместо кода Выделить код Код:newwin_item.setAttribute("label", "Настройки"); newwin_item.setAttribute("tooltiptext", "Настройки"); хочу написать Выделить код Код:newwin_item.setAttribute("label", "&qlinks.menu.preferences.label;"); newwin_item.setAttribute("tooltiptext", "&qlinks.menu.preferences.label.tooltip;"); то замена "&qlinks.menu.preferences.label;" на то, что описанно в .dtd файле не происходит. Конечно можно сделать пункт "Настройки" статичным, явно прописанным в .xul, и не удалять его при очистки меню перед заполнением его ссылками, но всёже хотелосьбы узнать, почему не работает подмена в таком подходе как у меня.. |
Anton > 03-02-2006 13:38:22 |
в javascript используются *.properties файлы а потом загружать эти строки функцией Выделить код Код:function my_ext_getString (name) { var sb; try { var sbs = Components. classes ["@mozilla.org/intl/stringbundle;1"]. getService(); sbs = sbs. QueryInterface (Components. interfaces. nsIStringBundleService); sb = sbs. createBundle ("chrome://my_ext/locale/my_ext.properties"); return sb. GetStringFromName (name); } catch (ex) {} return name; } |
d1pr3d > 03-02-2006 13:49:38 |
спасибо, сделал! |