首页澳门新葡亰官方网站 › 澳门新葡亰娱乐官网php商品相比较成效代码分享

澳门新葡亰娱乐官网php商品相比较成效代码分享

下面是自己亲自动手编写的代码,和大家一起学习研究。

下面是自己亲自动手编写的代码,和大家一起学习研究。

作者:Longv2go
地址:http://t.cn/RGxdO76

澳门新葡亰娱乐官网 1

商品对比调用的JS文件:

React Native
(Android)内置了一个用于解析JavaScript(以下简称JS)脚本的框架,方便把Java类暴漏给JS调用,具体的使用方法参见,这篇文章就用来研究一下Java和JS的通信原理,JS是如何调用Java的。

商品对比调用的JS文件(包含了商品对比框浮动JS):

/*浮动窗口*/ { var n=10; var obj=document.getElementById; if{ return false; } var x=0; window.onscroll=function(){ obj.style.top=(document.body.scrollTop||document.documentElement.scrollTop)+n+'px'; }; window.onresize=function(){ obj.style.top=(document.body.scrollTop||document.documentElement.scrollTop)+n+'px'; }; })(); //添加显示对比框 function addcompare{ $.fadeIn; var count=$.length; if //这里可以修改对比的数据哦 { alert; return; } $.ajax({ type: 'post', url: 'ajax.php', data: { 'action':'1', 'gid':chk.gid,//商品ID 'gname':chk.gname,//商品名称 'gtype':chk.gtype//商品类别,类别不同时不能比较 }, cache: false, async: false, success: function { if { alert; }else{ var url='http://www.lusen.com/product-'+chk.gid+'.html';//设置商品的链接地址 $.append("

总体结构

当初始化阶段,Java端会把所有要暴漏的Java类的信息封装成Config传给JS,然后根据Config生成对应Java类的Javascript镜像对象,以及要暴漏的方法,在JS中调用这个镜像对象的方法就会被转发到对应的Java对象上,如下所示

澳门新葡亰娱乐官网 2

JS的代码总要被解析执行,那么React是在哪里执行JS的呢?React并没有通过webview去执行JS代码,它是通过Jni调用c++代码通过Javascriptcore来执行JS的,首先来看看生成so依赖的的文件,代码在react-native/ReactAndroid/src/main/jni目录下。(用NDK编译在Android上运行的c/c++代码,关于NDK请自行google)

澳门新葡亰娱乐官网 3

reactnativejni

澳门新葡亰娱乐官网,其中OnLoad.cpp很关键,里面通过Jni映射了本地的方法到Java中,是Java和C++之间的桥梁。在Java中主要通过ReactBridge.java来调用C++,NativeModulesReactCallback类是C++调用Java的桥梁。

澳门新葡亰官方网站,例如以下代码,截取自OnLoad.cpp的JNI_OnLoad方法(这个方法会在Java载入so文件的时候由Jni首先调用)

registerNatives("com/facebook/react/bridge/JSCJavaScriptExecutor", {
    makeNativeMethod("initialize", executors::createJSCExecutor),
});

意思是把Java中的JSCJavaScriptExecutor类的initialize方法映射为executors::createJSCExecutor的C++方法,这样当在Java中调用initialize就会在C++中执行executors::createJSCExecutor。

转载本站文章请注明出处:澳门新葡亰官方网站 http://www.radioritmo-bl.com/?p=1218

上一篇:

下一篇:

相关文章