dongs
dongs
  • 发布:2017-01-19 16:34
  • 更新:2018-06-05 09:29
  • 阅读:2261

扫二维码使用预加载页面的时候,第一次进入会黑屏,第二次正常

分类:HTML5+

操作步骤:
1、在首页预加载扫码页面(扫码页面下面提供);
2、点击首页跳转至预加载的扫码页面,这时黑屏。(扫描框可以显示出来,但是摄像头无图像,黑屏状态)。另外,在进扫码页面的时候调用触发scan.start()方法。具体见一下预加载页面代码。
3、这时候返回,重新打开扫码页面就正常了。
4、另外,如果从扫码页面跳转到其他页面,再返回至扫码页面的时候一样黑屏。

请问,这是什么原因造成的?有没有解决方法?

预加载源代码参照附件!

2017-01-19 16:34 负责人:无 分享
已邀请:
dongs

dongs (作者)

人工置顶

p***@163.com

p***@163.com

请问你解决这个问题了吗

小白啊

小白啊

我这样写打开二维码页面方式,没有出过错
<!-- 打开扫一扫 -->
<div class="barcode">
<img src="public/ldy/app/images/bar_code.png" id="barcodeimg" onclick="clicked('smmoney.html',true,true)" />
</div>
<script>
(function(w){
// 处理点击事件
var openw=null,waiting=null;
/**

  • 打开新窗口
  • @param {URIString} id : 要打开页面url
  • @param {boolean} wa : 是否显示等待框
  • @param {boolean} ns : 是否不自动显示
  • @param {JSON} ws : Webview窗口属性
    /
    w.clicked=function(id,wa,ns,ws){
    if(openw){//避免多次打开同一个页面
    return null;
    }
    if(w.plus){
    /
    wa&&(waiting=plus.nativeUI.showWaiting());*/
    ws=ws||{};
    ws.scrollIndicator||(ws.scrollIndicator='none');
    ws.scalable||(ws.scalable=false);
    var pre='';//'http://192.168.1.178:8080/h5/';
    openw=plus.webview.create(pre+id,id,ws);
    ns||openw.addEventListener('loaded',function(){//页面加载完成后才显示
    // setTimeout(function(){//延后显示可避免低端机上动画时白屏
    openw.show(as);
    closeWaiting();
    // },200);
    },false);
    openw.addEventListener('close',function(){//页面关闭后可再次打开
    openw=null;
    },false);
    return openw;
    }else{
    w.open(id);
    }
    return null;
    };
    })(window);
    </script>

该问题目前已经被锁定, 无法添加新回复