作者:315空白_580 | 来源:互联网 | 2023-10-10 12:28
需求:点击Bieedashboard的文件夹内容,不用再新开窗口,可以在同一页面,右边栏出现选择的文件夹内容。之后点击其他的文件夹内容时,右边栏也会相应变化,
BIEE dashboard的文件夹内容左右联动
需求:
点击Biee dashboard的文件夹内容,不用再新开窗口,可以在同一页面,右边栏出现选择的文件夹内容。
之后点击其他的文件夹内容时,右边栏也会相应变化,而不需要整页跳转到新的页面。
注意左边为文件夹内容,指向”我的文件夹”
右边为biee dashboard的文本,内容为包含html标记的
图1,注意左边选中的文件夹内容
图2,注意左边选中的文件夹内容
解决方法:
修改
D:\app\OBI\user_projects\domains\bifoundation_domain\servers\AdminServer\tmp\_WL_user\analytics_11.1.1\silp1v\war\res\b_mozilla下的common.js文件
将runthisurl 这个function修改为
saw.runThisURL=function(e,b){
if(e.length>2047||b&&b.ensureFreshUrl){var
d=saw.createFormFromString(e);if(d){if(saw.userAgent.is_appleapp&&d.mobileNav){var
c=d.mobileNav.value;if(c){d.action+=(d.action.indexOf("?")>=0?"&":"?")+"mobileNav="+saw.encodeURIComponent(c);d.removeChild(d.mobileNav)}}if(b&&b.ensureFreshUrl){saw.addSessionSecurityCodeInput(d)}d.submit()}}else{if(e.indexOf("NavFromViewID")>=0&&parent.window.document.getElementById(‘display_area‘)){parent.window.document.getElementById(‘display_area‘).src=‘http://use-pc:7001/analytics/‘+e+‘&Syndicate=Siebel‘}else{try{window.location.href=e}catch(a){}}}return false};
注:
注意黄色背景,红色字体部分:
e.indexOf("NavFromViewID")>=0表示检查将要新的url是否包含NavFromViewID,如果包含,则是文件夹内容因为跳转所需生成的临时ViewID
(如果没有这个字符串,则很可能是需要跳转到其他仪表盘或其他内容,此时不应该被新脚本影响)
parent.window.document.getElementById(‘display_area‘)检查父页面上是否包含display_area这个element,如果包含的话,则将新的url内容显示在其中(见parent.window.document.getElementById(‘display_area‘).src部分)
如果不能同时满足上述两个条件,则使用原先脚本:try{window.location.href=e}catch(a)
后续改进:
注意缺省情况下右边栏显示的内容不受提示框(年份:v_year,周次:v_week)影响,需要在新的url后面增加部分内容,如&Action=Navigate&P0=2&P1=eq&P2="维度-日期"."OWC年份"&P3="@{v_year}"&P4=eq&P5="维度-日期"."OWC年中第几周"&P6="@{v_week}"
而文件夹的报表内容则必须包含年份,和周次这两个过滤条件