求贴吧大神解释猎奇是什么意思思@一只猎奇的狗

问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
用js如何判断打开网页的是安卓还是ios?
我要做个html页面,有个链接下载app,如果是苹果手机打开就下载ios版安卓就下载安卓版,如何用js区分?
&script type = "text/javascript"&
$(function(){
var ua = navigator.userAgent.toLowerCase();
if (/iphone|ipad|ipod/.test(ua)) {
$("a").attr("href","/us/app/ren-ren-duo-bao-yi-ge-shou/id?l=zh&ls=1&mt=8");
$("a").attr("href","/statics/templates/app/RenRenDuoBao.apk");
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
呃,我之前判断过android和iPhone,直接判断UA,如果是iOS的话,参考其他人的答案
function getOS(){
var ua = window.navigator.userAgent.toLowerCase(),
iPhone = /iphone/i.test(ua) ? true : false,
android = /android/i.test(ua) ? true :
return {android:android, iPhone:iPhone};
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
可以试试这个库
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
var userAgent = navigator.userAvar isAndroid = userAgent.indexOf('Android') & -1 || u.indexOf('Adr') & -1; //android终端var isiOS = !!userAgent.match(/(i+;( U;)? CPU.+Mac OS X/); //ios终端
根据isAndroid,isiOS为 1 或者 0 就可以做出判断。
同步到新浪微博
分享到微博?
Hi,欢迎来到 SegmentFault 技术社区!⊙▽⊙ 在这里,你可以提出编程相关的疑惑,关注感兴趣的问题,对认可的回答投赞同票;大家会帮你解决编程的问题,和你探讨技术更新,为你的回答投上赞同票。
明天提醒我
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
扫扫下载 Appios,android,iPhone,安卓,app,html5,webapp,js混合交互,编程demo代码,开源js
注册用户:
    
(1000人收藏)
 来源:
论文助手网
 Licence:
 联系:QQ:
 分类:
 平台:
windows phone
 环境:
 大小:
 更新:
 文件:
 演示:
androidapphtml5iOSiphonejs混合交互webapp安卓开源js编程demo代码
下载APP,支持永久资源免费下载
下载APP,资源永久免费
如果出现不能下载的情况,请联系站长,联系方式在下方。
载论文助手APP,资源永久免费
如果你已经登录仍然出现不能下载的情况,请重新刷新本页面或者联系站长
本js是ulunwen网站开源的第一个api接口,支持原生态和5的交互,支持app和web间的判断
1)通过伪协议来进行原生态操作,具体使用方法见文档
var userAgent = navigator.userA
var terminal="";
if (userAgent.indexOf('') & -1 || userAgent.indexOf('Linux') & -1) {//手机
terminal="0";
} else if (userAgent.indexOf('iPhone') & -1) {//手机
terminal="1";
上面是对设备的判断,然后使用方法如下,这里以一个支付函数为例子进行js交互
function gotoPaty(ddbh,pjXsj){
if(terminal=="1"){
window.location.href="/gotoPaty/"+ddbh+":"+pjX
window..clickSkip(ddbh,pjXsj);
需要详细demo,请留下邮箱,站长会及时第一时间发送到你邮件中。
邮件格式请用如: 其中用#代替@&
客服联系QQ:(有问题找客服,支持在线人工服务).更多信息请关注
要发表评论,您必须先。
下载APP,支持永久资源免费下载
请用电脑打开本网页,即可以免费获取你想要的了。android与ios的webView中html中的js冲突问题 - 推酷
android与ios的webView中html中的js冲突问题
关于android与ios的webView中html中的js冲突问题。
之前弄来很久,后面用啦很简单的方法解决
android中需要执行的是
javascript:myjavascript.getNext(url);跳转到下一个页面
ios中需要执行的是
&window.location = &xiezhiwenGetNext:///&+url
跳转到下一个页面
但是在android中入股两个段话都存在就会都执行,而ios的只会执行下面那句,这样的话android就不能达到用统一的html页面。
解决办法:用js对设备进行判断,判断是android机器就执行上面的代码,是ios的机器就执行下面的代码,如果是其他的机器就只需要对机器进行判断,然后执行相应的代码就可以。
js代码如下:
function getNext(url,d){
if(navigator.userAgent.match(/Android/i)) {
javascript:myjavascript.getNext(url,d,1);
}else if((navigator.userAgent.indexOf('iPhone') != -1)){
window.location = &xiezhiwenGetNext:///&+url+&:/&+d;
是不是很简单。。。
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致Android 中利用WebViewJavascriptBridge 实现js和java的交互(1) - Web前端当前位置:& &&&Android 中利用WebViewJavascriptBridge 实现js和jaAndroid 中利用WebViewJavascriptBridge 实现js和java的交互(1)&&网友分享于:&&浏览:0次Android 中利用WebViewJavascriptBridge 实现js和java的交互(一)& & & 此文出自:http://blog.csdn.net/sk/article/details/ ,skay 博客
& & 按安卓开发目前现状来说,开发者大部分时间还是花在UI的屏幕适配上,使用原生控件开发成本已不是那么理想,鉴于很多项目和ios基于一致的ui界面,至使安卓UI开发成本花费更大的代价,因此目前结合Html5和原生控件是解决UI适配的一种很好的选择,处于APP性能也会用java和native层进行结合。不管是哪种结合,其实原理都差不多,只要按照它的协议来,是很容易的,今天我们仅对于Html和Java层结合,学习下一个新的开源项目--WebViewJavascriptBridge。
& &一 什么是webViewjavascripBridge?
& & & &WebViewJavascriptBridge是移动UIView和Html交互通信的桥梁,用作者的话来说就是实现java(ios为oc)和js的互相调用的桥梁。替代了WebView的自带的JavascriptInterface的接口,使得我们的开发更加灵活和安全。
&二 为什么要用webViewjavascripBridge?
& & 对于安卓开发有一段时间的人来说,知道安卓4.4以前谷歌的webview存在安全漏洞,网站可以通过js注入就可以随便拿到客户端的重要信息,甚至轻而易举的调用本地代码进行流氓行为,谷歌后来发现有此漏洞后,增加了防御措施,如果要是js调用本地代码,开发者必须在代码申明JavascriptInterface,
& &列如在4.0之前我们要使得webView加载js只需如下代码:
&&mWebView.addJavascriptInterface(new JsToJava(), &myjsfunction&);
& & &4.4之后调用需要在调用方法加入加入@JavascriptInterface注解,如果代码无此申明,那么也就无法使得js生效,也就是说这样就可以避免恶意网页利用js对安卓客户端的窃取和攻击。
& & & 但是即使这样,我们很多时候需要在js记载本地代码的时候,要做一些判断和限制,或者有可能也会做些过滤和对用户友好提示,因此JavascriptInterface也就无法满足我们的需求了,特此有大神就写出了WebViewJavascriptBridge框架。
三 怎么使用webViewjavascripBridge
& & & 1 将jsBridge.jar引入到我们的工程
& & & & &此jar,或者jar源码我们可以到gitHub上下载。
& & & 2 WebView包需使用以上包的webView
& & & & & & & Layout中使用第三方view,
& & & & & & & EG:
& & & & & & &&?xml version=&1.0& encoding=&utf-8&?&
&LinearLayout xmlns:android=&/apk/res/android&
android:layout_width=&match_parent&
android:layout_height=&match_parent&
android:orientation=&vertical& &
&!-- button 演示Java调用web --&
android:id=&@+id/button&
android:layout_width=&match_parent&
android:text=&@string/button_name&
android:layout_height=&48dp&
&!-- webview 演示web调用Java --&
&com.github.lzyzsd.jsbridge.BridgeWebView
android:id=&@+id/webView&
android:layout_width=&match_parent&
android:layout_height=&match_parent& &
&/com.github.lzyzsd.jsbridge.BridgeWebView&
&/LinearLayout&
& 3 Java代码
public class MainActivity extends Activity implements OnClickListener {
private final String TAG = &MainActivity&;
BridgeWebView webV
int RESULT_CODE = 0;
ValueCallback&Uri& mUploadM
static class Location {
static class User {
String testS
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView = (BridgeWebView) findViewById(R.id.webView);
button = (Button) findViewById(R.id.button);
button.setOnClickListener(this);
webView.setDefaultHandler(new DefaultHandler());
webView.setWebChromeClient(new WebChromeClient() {
@SuppressWarnings(&unused&)
public void openFileChooser(ValueCallback&Uri& uploadMsg, String AcceptType, String capture) {
this.openFileChooser(uploadMsg);
@SuppressWarnings(&unused&)
public void openFileChooser(ValueCallback&Uri& uploadMsg, String AcceptType) {
this.openFileChooser(uploadMsg);
public void openFileChooser(ValueCallback&Uri& uploadMsg) {
mUploadMessage = uploadM
pickFile();
//加载本地网页
//webView.loadUrl(&file:///android_asset/demo.html&);
//加载服务器网页
webView.loadUrl(&&);
//必须和js同名函数,注册具体执行函数,类似java实现类。
webView.registerHandler(&submitFromWeb&, new BridgeHandler() {
public void handler(String data, CallBackFunction function) {
String str =&这是html返回给java的数据:& +
// 例如你可以对原始数据进行处理
makeText(MainActivity.this, str, LENGTH_SHORT).show();
Log.i(TAG, &handler = submitFromWeb, data from web = & + data);
function.onCallBack( str + &,Java经过处理后截取了一部分:&+ str.substring(0,5));
//模拟用户获取本地位置
User user = new User();
Location location = new Location();
location.address = &上海&;
user.location =
user.name = &Bruce&;
webView.callHandler(&functionInJs&, new Gson().toJson(user), new CallBackFunction() {
public void onCallBack(String data) {
makeText(MainActivity.this, &网页在获取你的位置&, LENGTH_SHORT).show();
webView.send(&hello&);
public void pickFile() {
Intent chooserIntent = new Intent(Intent.ACTION_GET_CONTENT);
chooserIntent.setType(&image/*&);
startActivityForResult(chooserIntent, RESULT_CODE);
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == RESULT_CODE) {
if (null == mUploadMessage){
Uri result = intent == null || resultCode != RESULT_OK ? null : intent.getData();
mUploadMessage.onReceiveValue(result);
mUploadMessage =
public void onClick(View v) {
if (button.equals(v)) {
webView.callHandler(&functionInJs&, &data from Java&, new CallBackFunction() {
public void onCallBack(String data) {
// TODO Auto-generated method stub
Log.i(TAG, &reponse data from js & + data);
& & & 通过实例化webView,用法和安卓原生的view没多大区别,设置WebChromClient, 设置加载的html(同样支持网络和本地文件),接着我们需要给web注册和html端约定好的js方法名。代码列举的submitFromweb和js的执行的方法名一致,玩过NDK的JNI调用的朋友也知道必须和c代码之间有个约定,其实js桥和jni有点类似,
通过注册handler来实现回调,Java代码中通过js返回的数据,进行处理后在调用function.onCallback返回给js.这里不做过多解释
//必须和js同名函数,注册具体执行函数,类似java实现类。
webView.registerHandler(&submitFromWeb&, new BridgeHandler() {
public void handler(String data, CallBackFunction function) {
String str =&这是html返回给java的数据:& +
// 例如你可以对原始数据进行处理
makeText(MainActivity.this, str, LENGTH_SHORT).show();
Log.i(TAG, &handler = submitFromWeb, data from web = & + data);
function.onCallBack( str + &,Java经过处理后截取了一部分:&+ str.substring(0,5));
& & &如果是webview刚开始就执行一段Java代码 ,可以通过webView.CallHandler()来实现 。当然我们注册的方法也要和js里面的方法名一致。
& & && webView.callHandler(&functionInJs&, new Gson().toJson(user), new CallBackFunction() {
public void onCallBack(String data) {
makeText(MainActivity.this, &网页在获取你的位置&, LENGTH_SHORT).show();
& 3 Html和js实现
& & & & &html代码如下,效果图
& &&&html&
&meta content=&text/ charset=utf-8& http-equiv=&content-type&&
js调用java
&xmp id=&show&&
&xmp id=&init&&
&input type=&text& id=&text1& value=&用户名(username)& /&
&input type=&text& id=&text2& value=&password& /&
&input type=&button& id=&enter& value=&发消息给Native& onclick=&testClick();&
&input type=&button& id=&enter1& value=&调用Native方法& onclick=&testClick1();&
&input type=&button& id=&enter2& value=&显示html& onclick=&testDiv();& /&
&input type=&file& value=&打开文件&
& && &script&
function testDiv() {
document.getElementById(&show&).innerHTML = document.getElementsByTagName(&html&)[0].innerHTML;
function testClick() {
var str1 = document.getElementById(&text1&).
var str2 = document.getElementById(&text2&).
//发送消息给java代码
var data = &name=& + str1 + &,pass=& + str2;
window.WebViewJavascriptBridge.send(
, function(responseData) {
document.getElementById(&show&).innerHTML = &repsonseData from java, data = & +responseData
function testClick1() {
var str1 = document.getElementById(&text1&).
var str2 = document.getElementById(&text2&).
//调用本地java方法
window.WebViewJavascriptBridge.callHandler(
'submitFromWeb'
, {'param': str1}
, function(responseData) {
document.getElementById(&show&).innerHTML = &send get responseData from java, data = & + responseData
function bridgeLog(logContent) {
document.getElementById(&show&).innerHTML = logC
}//注册事件监听
function connectWebViewJavascriptBridge(callback) {
if (window.WebViewJavascriptBridge) {
callback(WebViewJavascriptBridge)
document.addEventListener(
'WebViewJavascriptBridgeReady'
, function() {
callback(WebViewJavascriptBridge)
//注册回调函数,初始化函数
connectWebViewJavascriptBridge(function(bridge) {
bridge.init(function(message, responseCallback) {
console.log('JS got a message', message);
var data = {
'Javascript Responds': 'Wee!'
console.log('JS responding with', data);
responseCallback(data);
bridge.registerHandler(&functionInJs&, function(data, responseCallback) {
document.getElementById(&show&).innerHTML = (&data from Java: = & + data);
var responseData = &Javascript Says Right back aka!&;
responseCallback(responseData);
& & & 这段代码不难理解,我们对上面的id为enter的Button注册了一个点击事件,点击后执行以下testClick()方法,依次类推,其他Button注册事件相同,
& & &当点击“发消息给Native”的按钮时,Js通过webWiew的jsBridage.send()发送一条数据给java层(密码和用户名),同时在此用function()来执行应java层回调函数的。此demo中是把java返回的数据插入到&show&的div里面去。
testClick1():此方法中调用callHandler来调用Java代码的submitFromweb同名函数,可以结合上面的Activty的代码理解下,此函数调用我们已在java注册实现好的
//必须和js同名函数,注册具体执行函数,类似java实现类。
webView.registerHandler(&submitFromWeb&, new BridgeHandler() {
public void handler(String data, CallBackFunction function) {
String str =&这是html返回给java的数据:& +
// 例如你可以对原始数据进行处理
makeText(MainActivity.this, str, LENGTH_SHORT).show();
Log.i(TAG, &handler = submitFromWeb, data from web = & + data);
function.onCallBack( str + &,Java经过处理后截取了一部分:&+ str.substring(0,5));
& & &java注册Js函数如上面列子 ,那么在js中注册方法来注册呢,
& & 在js中我们同样可以直接注册一个回调函数,通过&bridge.registerHandler()来注册,接着调用&responseCallback(responseData)来返回数据给java代码的同名函数。f
也可以直接调用init()来指定网页首次加载上面注册java代码。
connectWebViewJavascriptBridge(function(bridge) {
bridge.init(function(message, responseCallback) {
console.log('JS got a message', message);
var data = {
'Javascript Responds': 'Wee!'
console.log('JS responding with', data);
responseCallback(data);
bridge.registerHandler(&functionInJs&, function(data, responseCallback) {
document.getElementById(&show&).innerHTML = (&data from Java: = & + data);
var responseData = &Javascript Says Right back aka!&;
responseCallback(responseData);
& & &通过以上的代码示例,不难发现此框架的优雅和简便,对js和java双方来说,如果html中的js需要调用java代码,而java代码没做任何实现,那么这个js也是无效的,反之java代码注册的回调函数,没在js里去实现,那么Java也无法获取js远程数据,由此可见此,此通信是双方的,必须由双发来约定,这样就避免了安卓之前存在js注入漏洞,也很大的提高了安全性,也可以保证我们的网页数据不被第三方的APP获取,怎么说呢,比如你的项目某一html界面,被安卓浏览器或者其他第三方App恶意加载你们的网站或网页,那么它的java代码调用你的js函数,比如由你的Js事先注册或者实现,不然跟本无法调用。这样就保证了这个html的唯一性,第三方可以加载预览你的网页,但是第三方java不能和你的js交互通信。同样加载第三方的网页时候,我们可以对第三方网页进行一些行为的过滤,进而对用户进行友好提示。
& & 以上代码只是此开源框架一部分功能,还有很多的功能需要我们去挖掘,以后再给大家解剖下此开源项目的内部实现。欢迎阅读
项目开源地址:/lzyzsd/JsBridge
版权声明:本文为博主原创文章,请尊重原创,转载请标明地址。
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有WebView本地java方法和js之间的调用 android开发教程-android100学习网
WebView本地java方法和js之间的调用 android开发教程
webview相当于android中的浏览器,基于webkit开发,可以浏览网页文件,支持css javascript 以及html使用webview首先要有以下配置:1.AndroidManifest.xml中必须注册&android.permission.INTERNET&进行权限许可......
webview相当于android中的浏览器,基于webkit开发,可以浏览网页文件,支持css javascript 以及html
使用webview首先要有以下配置:
1.&AndroidManifest.xml中必须注册&android.permission.INTERNET&进行权限许可,(如果只是使用本地HTML,可以不用注册许可权限)否则会出Web page not available错误
2.如果在web中使用js需要许可javascript执行:WebView webv =(WebView)findViewById(R.id.webv);//从xml中获取webview
webv.getSettings().setJavaScriptEnabled(true);//允许JS执行
3.如果在用webview做应用的时候我们不希望新建webview进程,让程序跳来跳去那么进行如下设置
webv.setWebViewClient(new&WebViewClient(){&
& & & public&boolean&shouldOverrideUrlLoading(WebView&view,&String&url)&{
& & & & & & & & &view.loadUrl(url);//点击超链接的时候重新在原来进程上加载URL
& & &&& & & & & &return&
4.在做webview开发是经常会加载本机的html文件如下:
file:///android_asset/teste.html &&加载项目assets下的文件teste.html
file:///sdcard/index.html & & & 加载sdcard下的index.html文件
5.在javascript中调用java方法
& & & 5.1先将一个当前的java对象绑定到一个javascript上面,使用如下方法
& & & & & & & &webv.addJavascriptInterface(this, &someThing&);//this为当前对象,绑定到js的someThing上面,主要someThing的作用域是全局的。一旦初始化便可随处运行
& & & 5.2定义被调用的java方法
java代码:
package CC.CDC;
import android.app.A
import android.os.B
import android.webkit.WebV
public class SDFSDFSD extends Activity {
& & /** Called when the activity is first created. */
& & @Override
& & public void onCreate(Bundle savedInstanceState) {
& & & & super.onCreate(savedInstanceState);
& & & & setContentView(R.layout.main);&
& & & & webv = (WebView)findViewById(R.id.webv);
& & & & webv.getSettings().setJavaScriptEnabled(true);
& & & & webv.addJavascriptInterface(this, &someThing&);
& & & & webv.loadUrl(&file:///android_asset/index.html&);
& & public void setSmething(String some){
& & System.out.println(&----------&+some+&---------------&);
html代码:
&meta http-equiv=&Content-Type& content=&text/ charset=UTF-8&/&
&title&&/title&
&script language=&javascript& type=&html/text&&&
function dosomething(){
document.getElementById(&helloweb&).innerHTML=&HelloWebView&;
&body onload=&javascript:window.someThing.setSmething('HelloWebView')&&
&div id=&helloweb&&
此示例的结果就是在html页面加载外之后调用java的&setSmething的方法打印出字符串结果如图
java中调用js代码,当然这个也需要触发,现在将上述html中的onload代码改变为onload=&javascript:window.someThing.getJsData()&
然后在java中增加如下代码
public void getJsData(){
& & webv.loadUrl(&javascript:dosomething()&);
执行效果如图
二、从WebView初探 了解到WebView的强大,。听说WebView对Javascript的支持也很强,想从网上找些例子,还很难找,最终从google老家找了一个Java和Javascript互调的例子&,整个Eclipse ADT工程例子中都有,这里重点分析一下代码:
这里的重点是addJavascriptInterface(Object obj,String interfaceName)方法,该方法将一个java对象绑定到一个javascript对象中,javascript对象名就是 interfaceName,作用域是Global。这样初始化webview后,在webview加载的页面中就可以直接通过 javascript:window.demo访问到绑定的java对象了。来看看在html中是怎样调用的:
&&&&&&&&&script&language=&javascript&&&&
&&&&&&&&&&&&&&&&function&wave()&{ &&
&&&&&&&&&&&&&&&&&&&&document.getElementById(&droid&).src=&android_waving.png&; &&
&&&&&&&&&&&&&&&&} &&
&&&&&&&&&/script&&&
&&&&&&&&&body&&&
&&&&&&&&&&&&&a&onClick=&window.demo.clickOnAndroid()&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&img&id=&droid&&src=&android_normal.png&/&&br&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&Click&me! &&
&&&&&&&&&&&&&/a&&&
&&&&&&&&&/body&&&
&html&&&&&&&&&& &script language=&javascript&&&&&&&&&&&&&&&&&&& function wave() {&&&&&&&&&&&&&&&&&&&&& document.getElementById(&droid&).src=&android_waving.png&;&&&&&&&&&&&&&&&&& }&&&&&&&&& &/script&&&&&&&&&& &body&&&&&&&&&&&&&& &a onClick=&window.demo.clickOnAndroid()&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &img id=&droid& src=&android_normal.png&/&&br&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& Click me!&&&&&&&&&&&&& &/a&&&&&&&&&& &/body&& &/html& &
&这样在javascript中就可以调用java对象的clickOnAndroid()方法了,wave()方法是java中调用javascript的例子。
这里还有几个知识点:
1)为了让WebView从apk文件中加载assets,Android SDK提供了一个schema,前缀为&file:///android_asset/&。WebView遇到这样的schema,就去当前包中的 assets目录中找内容。如上面的&file:///android_asset/demo.html&
2)addJavascriptInterface方法中要绑定的Java对象及方法要运行另外的线程中,不能运行在构造他的线程中,这也是使用Handler的目的。
1.&[代码][Java]代码&&&&
public class WebViewDemo extends Activity {&&&
&&& private WebView mWebV&&&
&&& private Handler mHandler = new Handler(); &&&
&&& public void onCreate(Bundle icicle) {&&&
&&&&&&& super.onCreate(icicle);&&&
&&&&&&& setContentView(R.layout.webviewdemo);&&&
&&&&&&& mWebView = (WebView) findViewById(R.id.webview);&&&
&&&&&&& WebSettings webSettings = mWebView.getSettings();&&&
&&&&&&& webSettings.setJavaScriptEnabled(true);&&&
&&&&&&& mWebView.addJavascriptInterface(new Object() {&&&
&&&&&&&&&&& public void clickOnAndroid() {&&&
&&&&&&&&&&&&&&& mHandler.post(new Runnable() {&&&
&&&&&&&&&&&&&&&&&&& public void run() {&&&
&&&&&&&&&&&&&&&&&&&&&&& mWebView.loadUrl(&javascript:wave()&);&&&
&&&&&&&&&&&&&&&&&&& }&&&
&&&&&&&&&&&&&&& });&&&
&&&&&&&&&&& }&&&
&&&&&&& }, &demo&);&&&
&&&&&&& mWebView.loadUrl(&file:///android_asset/demo.html&);&&&
public class WebViewDemo extends Activity {
&& private WebView mWebV
&& private Handler mHandler = new Handler();
&& public void onCreate(Bundle icicle) {
&&& super.onCreate(icicle);
&&& setContentView(R.layout.webviewdemo);
&&& mWebView = (WebView) findViewById(R.id.webview);
&&& WebSettings webSettings = mWebView.getSettings();
&&& webSettings.setJavaScriptEnabled(true);
&&& mWebView.addJavascriptInterface(new Object() {
&&&& public void clickOnAndroid() {
&&&&& mHandler.post(new Runnable() {
&&&&&& public void run() {
&&&&&&& mWebView.loadUrl(&javascript:wave()&);
&&& }, &demo&);
&&& mWebView.loadUrl(&file:///android_asset/demo.html&);

我要回帖

更多关于 猎奇心理是什么意思 的文章

 

随机推荐