官方代码
document.addEventListener('plusready',function(){
checkArguments();
},false);
// 判断启动方式
function checkArguments(){
console.log("plus.runtime.launcher: "+plus.runtime.launcher);
var args= plus.runtime.arguments;
if(args){
// 处理args参数,如打开新页面等
}
}
// 处理从后台恢复
document.addEventListener('newintent',function(){
console.log("addEventListener: newintent");
checkArguments();
},false);
官方代码没解释太多东西。
第一个坑:
<a herf="test://index.html">点击打开app</a>
app打开之后提示 test://index.html 这个页面打不开
解决方法:
传递参数不要用html后缀之类的形式。建议还是按照官方标准,使用json字符串形式,接收到之后解析url并且跳转。
<a herf="test://{'url':'index.html'}">点击打开app</a>
第二个坑:
app后台运行发起没有任何问题,app如果后台关闭,通过链接唤醒之后,跳转到参数页面,然后无限刷新,根本停止不下来
根据html5+手册介绍 plus.runtime.arguments 这个参数是只读的,设置为空,并且判断也没用
解决方法:
这个放在入口html文件,app关闭情况下,加载会先加载这个页面,这里判断并且执行跳转。
这个plus.runtime.arguments参数清理不掉,但是其他文件不执行,解决了无限跳转的问题!
document.addEventListener('plusready',function(){
checkArguments();
},false);
下面这个放在全局,app不关闭,后台切换到前台的唤醒,自己就执行一次,我也不知道为什么!
// 判断启动方式
function checkArguments(){
console.log("plus.runtime.launcher: "+plus.runtime.launcher);
var args= plus.runtime.arguments;
if(args){
// 处理args参数,如打开新页面等
}
}
// 处理从后台恢复
document.addEventListener('newintent',function(){
console.log("addEventListener: newintent");
checkArguments();
},false);
0 个评论
要回复文章请先登录或注册