马上注册,结交更多数据大咖,获取更多知识干货,轻松玩转大数据
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
这两天测试组需求,想让我们去掉多余的右键菜单(如:传承),减少用户操作犯错的机会。
我是用java开发的经验,分析出,既然它是一个HTML那么他肯定有他加载的位置,既然他可以做权限控制那么一定是动态的,
下一步就看他是动态生成的HTML还是动态的控制隐藏或者修改。发现右键菜单在页面初始化的时候由一段JS控制生成右键菜单,
那么如果我找到了这段JS,我就可以完美的控制菜单的生成(找JS的过程很复杂,先通过css 在通过其他手段)。
js脚本的位置如下:I:\ibm\cognos\c10\webapps\p2pd\rv\cv.js 154行
[JavaScript] 纯文本查看 复制代码 /*去掉“术语表”
if(this.getCV().bCanUseGlossary && this.m_oStrings.sGlossaryTextItem && sBlacklist.indexOf(' RV_CONTEXT_MENU_GLOSSARY ') == -1)
{
bGlossary = true;
this.m_contextMenu.add(gMenuSeperator);
this.m_glossaryItem = new CMenuItem(this.m_contextMenu, this.m_oStrings.sGlossaryTextItem, this.getCVObjectRef() + ".executeAction('Glossary');", sWebContentRoot + '/rv/images/action_glossary.gif', gMenuItemStyle, sWebContentRoot, sSkin);
this.m_glossaryItem.disable();
}
*/
/*去掉“传承”
if (this.isLinegaeVisisble(sBlacklist))
{
if (!bGlossary)
{
this.m_contextMenu.add(gMenuSeperator);
}
this.m_lineageItem = new CMenuItem(this.m_contextMenu, this.m_oStrings.sLineageTextItem, this.getCVObjectRef() + ".executeAction('Lineage');", sWebContentRoot + '/rv/images/action_lineage.gif', gMenuItemStyle, sWebContentRoot, sSkin);
this.m_lineageItem.disable();
}
*/
I:\ibm\cognos\c10\webapps\p2pd\rv\CDrillManager.js 1243行
[JavaScript] 纯文本查看 复制代码
/*去掉“相关连接”;去掉“搜索”
if (gtContextMenu != null) {
if(typeof gMenuSeperator != "undefined" && gtContextMenu.getNumItems() > 0 && (this.getCV().bCanUseCognosViewerIndexSearch || sBlackList.indexOf(' RV_CONTEXT_MENU_GOTO_RELATED_LINKS ') == -1))
{
gtContextMenu.add(gMenuSeperator);
}
var moreContextMenuItem = new CMenuItem(gtContextMenu, this.getCV().oStrings.sMoreTextItem, this.getCVObjectRef() + '.getDrillMgr().launchGoToPage();', '', gMenuItemStyle, this.getCV().getWebContentRoot(), this.getCV().getSkin());
if (this.getCV().bCanUseCognosViewerIndexSearch) {
searchMenuItem = new CMenuItem(gtContextMenu, this.getCV().oStrings.sSearchTextItem, this.getCVObjectRef() + '.getDrillMgr().launchSearchPage();', '', gMenuItemStyle, this.getCV().getWebContentRoot(), this.getCV().getSkin());
}
if(sBlackList.indexOf(' RV_CONTEXT_MENU_GOTO_RELATED_LINKS ') != -1)
{
moreContextMenuItem.hide();
}
else if(selectionController == null || selectionController.getModelDrillThroughEnabled() == false)
{
moreContextMenuItem.disable();
}
}
if (searchMenuItem != null && selectionController != null)
{
var allSelections = selectionController.getAllSelectedObjects();
if (allSelections == null || allSelections.length === 0)
{
searchMenuItem.disable();
}
}
*/
找到生成右键菜单的js代码进行JS注释,就可以了。想修改在某维度的某级别禁止向上追溯要用另外一种方法。以后有时间在发。
如果想加入自己的新菜单只需按照相应的代码片段样式编写即可。
|