当javascript遇到android

版权声明:关于安安 https://blog.csdn.net/yangluan999/article/details/79979872

当移动端内嵌H5页面时候,难免会遇到很多的适配问题与交互问题。

javascript中有window方法,android也有window方法,那么交互所用到的方法也是window方法最为舒服。

话不多说,直接上代码

eg:当js需要调用android的方法的时候

    

window.qknewsjs.openPressno('mapprentice')}

   window.qknewsJs.openRessno() == fn() 

    左为android的方法  右为javascript中方法function

起初的连调经过很多次测试android是不能解析到json格式的数据。相反的是 javascript 解析的正是 json格式的数据。

那么问题来了?

js如何与android互传参数呢?不要慌,问题不大。

     多次测试得出 android的方法其参数只能是String类型,也就是只能解析“”双引号中的数据。而javascript日常传参,

前端同学都知道javascript中的传参可以为一个变量,给一个变量赋值data数据时,这个变量已经等同于data数据。传递参数的时候可以将这个被赋值的变量进行传递。解析时可以输出object对象。

    当理解到这一步就简单了。

继续上代码:

    eg:

window.qknewsjs.openPressno('{"method":"treeShare","params":{"picUrl":"'+picUrl+'","detailUrl":"'+detailUrl+'","title":"'+title+'"}}');

很皮,参数传的比较多,不要在意;这里是将已获取到的数据不给与赋值 然后在android方法中加入“”双引号,隐式转换为string类型,并将需要传参的动态值用字符串拼接的方法拼接起来。

    附带一个小窍门,字符串拼接的时候可以在需要拼接的地方写入  '++'  在双加号中间写入需要动态获取的参数即可。

    

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页