openWin和openFrame 设置透明背景

openWin简单点说就是:像是一个浏览器

openFrame就是对应openWin浏览器里面打开的每一个网页

有些操作只能在openWin里面执行,比如监听安卓返回事件,只能在openWin里面才有效,openFrame里面无效。

execScript传递参数无效,在同一个openWin下面,所有frame之间交互只要frameName参数就行了。但是如果跨越openWin,类似在不同浏览器下面传递参数,就需要加上name参数,也就是Win的名字。

我觉得你的情况可能是这样的:
你打开WINA,然后打开了frame(用户)和frame(游客),然后通过frame(游客)打开WINB,
但是这时候,WINA不是关闭了,而是在它的基础上打开了WINB,所以你关闭WINB时,不需要再打开WINA,而是直接关闭frame(游客)即可。而且我觉得如你所说,可能确实是游客挡住了用户,那你也可以用bringFrameToFront方法把frame(用户)调整到前面,应该也能解决问题。

我觉得如果是这种情况,未必需要两个frame切换,可以像版主说的一样写在一个frame里即可,先设置一个标识检测是否为登录状态,如果是则加载用户需要显示的内容,如果否则显示游客需要看到的内容,可以分别写在不同的块里比如不同的DIV,然后通过标识来切换DIV是否显示即可。
如果设计上必须用两个frame,则你一进来时不要同时打开两个frame,而是根据标识判断是否登陆,然后打开相应的frame,而登陆或者退出登录后,再打开另一个frame,这样的话,新打开的frame自然是在原来的frame之上。

html,body{
   
    margin-right: 0;
}

function openFilter(){
        api.openWin({
            name:'filter_header',
            url:'./filter_header.html',
            bgColor:rgba(0,0,0,0.8),//或者直接不传该参数 ...
            opaque:false
        });
    }

经验分享:
比如a.html页面要使用openFrame方式弹窗b.html页面,实现半透明遮挡a.html效果
第一步:在b.html顶部设置
body{
        background: transparent;
}
第二步:在a.html中openFrame参数中添加
bgColor:'rgba(255, 255, 255, 0.2)',
比如:

  1. function opentest() {
  2.                         api.openFrame({
  3.                                 name : 'testframe',
  4.                                 url : '../html/testtest.html',
  5.                                 rect : {
  6.                                         x : 0,
  7.                                         y : 0,
  8.                                         w : 'auto',
  9.                                         h : 'auto'
  10.                                 },
  11.                                 bgColor:'rgba(255, 255, 255, 0.2)',
  12.                                 pageParam : {
  13.                                         program_ids : program_ids,
  14.                                         nameTitle : nameTitle,
  15.                                         type : 'pro'
  16.                                 }
  17.                         });
  18.                 }
原文地址:https://www.cnblogs.com/shuibi/p/6667517.html