WebviewBridge

Hybird实现的 HTML5 Angular
授权协议 GPL
开发语言 Java JavaScript HTML/CSS
所属分类 Web应用开发、 HTML5开发相关
软件类型 开源软件
地区 不详
投 递 者 端木皓君
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

WebviewBridge (android) h5 angular。(ionic) 这是 Hybird 实现的一个 demo,集成angular.js,主要是 ionic 框架下面的。感谢ionic团队的付出,主要实现 H5 端和 native 相互通信。可以实现 js 调不同 native 方法并返回,native 调向 js 通信。

写这个初衷 ionic 里面 cordova 库比较分散,累赘,不太适合原生为主 Hybird APP 开发,所以自己花了几天稍微写了下,当然以 H5 主体 Hybird APP 用 ionic 已经很好了,插件库也很完善,学习人也挺多。

自己有空时候整理的 demo : 

主要实现原理 

@Override
public final boolean onJsPrompt(WebView view, String url, String message, String defaultValue, JsPromptResult result) {
    result.confirm(); 
    JsCallJava.newInstance().call(view,message); 
    return true; 
}

这个方法监听

win.prompt(uri, "");
addJavascriptInterface(Object obj,String interfaceName)

原有大都是靠这个实现,这个有注入漏洞,不安全,不过这个在 api16 以上已经修复。 

在其次用了java 反射。

  • WebviewBridge 详细介绍 WebviewBridge (android) h5 angular。(ionic) 这是 Hybird 实现的一个 demo,集成angular.js,主要是 ionic 框架下面的。感谢ionic团队的付出,主要实现 H5 端和 native 相互通信。可以实现 js 调不同 native 方法并返回,native 调向 js 通信。 写这个初衷 ioni

  • 最近整理了一下原生与H5之间的交互方式,简单的做个总结。 OC端与JS的交互,大致有这几种:拦截协议、JavaScriptCore库、WKWebView、自定义NSURLProtocol拦截、WebViewJavascriptBridge。 JavaScriptCore一个iOS7引进的标准库,iOS7以前也有开发者自行导入使用。Web端也比较容易统一。 WebViewJavascriptBrid

  • 最近的一个项目,是一个关于在移动应用中嵌入 WebView,并在其中实现 JavaScript 能调用原生代码。虽然已经有 Cordova 这样的成熟方案,但是它太 “重” 了——直接在一个拥有大量代码的项目上,修改起来并不容易。 原先,我并不打算花费笔墨来记录相关的实现。毕竟,JavaScript Bridge 相关的方案相当的成熟——到处可风,但是考虑到其中的一些设计思想相当不错。我还是想存个

  • 使用RN的webview过程中,遇到了疑似功能性的bug.(RN 0.44.3, iOS模拟器环境) 在webview页面之外提供了一个新的按钮用于切换到制定的uri,但测试过程中该按钮的切换行为只在第一次生效,后续点击没有效果。 调试设置的state的uri改变了,render也触发了;但页面不刷新。 到native层调试发现rctwebview.m 里面的setsource没有触发。 目前初步

 相关资料
  • 它为什么特别对待是2的幂的情况?只是为了表现吗? 它为什么拒绝数字?

  • 本节是对前两节内容的实践。我们以“词嵌入(word2vec)”一节中的跳字模型和“近似训练”一节中的负采样为例,介绍在语料库上训练词嵌入模型的实现。我们还会介绍一些实现中的技巧,如二次采样(subsampling)。 首先导入实验所需的包或模块。 import collections import d2lzh as d2l import math from mxnet import auto

  • 一、前言 上一章我们讲解了Memcached的消息回应机制《Memcached源码分析 - Memcached源码分析之消息回应(3)》。从这一章开始我们慢慢讲解Memcached是如何存储数据的。 讲解本章前,我们先看一个Memcached存储数据的item的基本结构。 //item的具体结构 typedef struct _stritem {     //记录下一个item的地址,主要用于

  • 本文向大家介绍MyBatis实现动态SQL的实现方法,包括了MyBatis实现动态SQL的实现方法的使用技巧和注意事项,需要的朋友参考一下 MyBatis 最强大的特性之一就是它的动态语句功能。如果您以前有使用JDBC或者类似框架的 经历,您就会明白把SQL语句条件连接在一起是多么的痛苦,要确保不能忘记空格或者不要在 columns列后面省略一个逗号等。动态语句能够完全解决掉这些痛苦。 ​尽管与动

  • 问题内容: hashCode方法的最佳实现中可接受的答案为查找哈希码提供了看似不错的方法。但是我是哈希代码的新手,所以我不太了解该怎么做。 对于1),选择哪个非零值有关系吗?是一样好其他数字,如:黄金? 对于2),我是否将每个值添加到c?如果我有两个字段都是一个,,,等? 我在这堂课上解释得对吗? 问题答案: 该值并不重要,它可以是您想要的任何值。质数将导致值的更好分布,因此首选。 您不必添加它们

  • 问题内容: 我刚刚开始学习android编程,并且对方法getResources()产生了疑问。我注意到,当我创建一个Resources对象时,我要做的就是: 第一个疑问是以下为什么我必须以这种方式做并且我不能使用java关键字 new ?我不应该这样做吗: 第二个疑问是:在文件的顶部,我导入了Resources类。 现在,我阅读了android api,它说getResources()是一个公共

  • 问题内容: AtomicInteger的getAndIncrement实现执行以下操作: 它不等于aVolatileVariable ++吗?(我们知道这是不正确的用法)。没有同步,我们如何确保此完整操作是原子的?如果在步骤1中读取了变量“ current”后,volatile变量的值发生了变化,该怎么办? 问题答案: “秘密调味料”在此调用中: 如果在读取 后 同时更改了原始易失性值,则该操作将

  • 异常消息: 由:rpt.engine.util.engineException:javax.xml.bind.jaxbException:Provider com.sun.xml.bind.contextfactory_1_0_1无法实例化:javax.xml.bind.contextfactory_1_0_1.jaxbException-with linked exception:[java.l