A. 如何在android平台上使用js直接调用java方法
js中需要通过Android的WebView控件来实现js与java相互调用 。
WebView(网络视图)能加载显示网页,可以将其视为一个浏览器。它使用了WebKit渲染引擎加载显示网页,实现WebView有以下两种不同的方法:
1.在要Activity中实例化WebView组件:WebView webView = new WebView(this);
2.调用WebView的loadUrl()方法,设置WevView要显示的网页:
互联网用:webView.loadUrl("http://xxx.xxx.xxx");
本地文件用:webView.loadUrl("file:///android_asset/XX.html"); 本地文件存放在:assets 文件中
3.调用Activity的setContentView( )方法来显示网页视图
4.用WebView点链接看了很多页以后为了让WebView支持回退功能,需要覆盖覆盖Activity类的onKeyDown()方法,如果不做任何处理,点击系统回退剪键,整个浏览器会调用finish()而结束自身,而不是回退到上一页面
5.需要在AndroidManifest.xml文件中添加权限,否则会出现Web page not available错误。
<uses-permission android:name="android.permission.INTERNET" />
B. android webview支持任何js吗
理论上是js都支持, 只要是支持webkit内核的js代码,webView都是支持的, webview使用的就是webkit内核,相当于一个轻量级的浏览器, js是浏览器脚本语言!
C. 安卓手机有没有浏览器支持javascript的,在电脑上编写了一个alert弹出框,可以再手机上用吗会弹出来吗
现在的安卓手机的浏览器几乎都是可以直接浏览普通网页(非WAP网页)的,而且都是支持Javascript的(事实上Javascript已经是目前为止唯一的网页前端脚本语言了)。当然,浏览器中一般都有打开或关闭Javascript功能的选项,但只要是打开的,你用alert弹出的对话框就一定会弹出来,除非有错。
D. 安卓手机javascript被禁用怎么开启
一般是浏览器里禁用,进入浏览器设置找到隐私或高级或扩展功能,再找到js并开启即可。具体要看是哪个浏览器里提示,不同浏览器操作也略有不同。
E. JS 如何在安卓手机浏览器中强制弹出页面
这个应该设计到同源策略的问题下面是我官员这个的笔记,虽然帮不到什么,但可以看看脚本不能读取从不同服务器(严格来讲,这些服务器来自不同的域、端口和协议)载入的文档的内容,除非这个就是包含脚本的文档。这一限制就叫同源策略。该策略是对javascript代码能够操作那些Web内容的一些完整的安全限制。当Web页面使用多个&lt;iframe&gt;元素或者打开其他浏览器窗口的时候,这一策略通常就会发挥作用。这种情况下,同源策略负责管理窗口或窗体中javascript代码以及和其他窗口或帧的交互。具体的说m脚本只能读取和所属文档来源相同的窗口和文档的属性。文档的来源包含协议、主机以及载入文档的URL端口。脚本本身的来源和同源策略并不相关,相关的是脚本所嵌入的文档的来源。同源策略给那些使用多个子域的大站点带来了一些问题。解决办法:可以使用Document对象的domain属性。属性domain存放的是载入文档服务器的主机名。可以设置这个属性名,不过字符串必须具有有效的域前缀或它本身,如.com,domain值中必须有一个点号,不能把它设置为com或其他顶级域名。两个窗口(或窗体)包含的脚本把domain设置成了相同的值uycg那么这两个窗口就不在受同源策略的约束,他们可以相互读取对象的属性。第二项技术已经标准转化为:跨域资源共享。这个标准草案用新的’Origin:‘请求头和新的Access-Control-Allow-Origin响应头来扩展HTTP。它允许服务器用头信息显示地列出源nsx或使用通配符来匹配所有的源并允许由任何地址请求文件。第三种技术,叫做跨文档消息,允许来自一个文档的脚本可以传递文本消息到另一个文档里的脚本,而不管脚本的来源是否相同。调用Window对象上的postMessage()方法,可以异步传递消息事件(可以用onmessage事件句处理程序函数来处理它)到窗口的文档里。一个文档里的脚本还是不能调用在其他文档里的方法和读取属性,但他们可以用这种消息传递技术来实现安全的通信。
F. JS辨别访问浏览器判断是android还是ios系统
1、通过判断浏览器的userAgent,用正则来判断是否是ios和Android客户端。代码如下:
G. android默认浏览器是否支持javascript是否有网站可以验证
肯定支持,否则的话很多网站无法正常打开了,它还好意思说自己是浏览器?
Javascript
已经是事实上的唯一的一种前端
脚本语言
了。当然几乎所有浏览器都有关闭和打开Javascript的选项供用户设置的。
H. 在android中怎样调用本地js文件里的方法并得到返回值
在android中调用本地js文件里的方法并得到返回值其方法如下:
Android中内置了WebKit模块,而该模块的Java层视图类就是WebView,所有需要使用Web浏览器功能的Android都需要创建该视图类对象显示和处理请求的网络资源。目前WebKit支持Http、Https、Ftp和JavaScript请求。下面是在Android中调用JavaScript方法以及如何在js中调用本地方法。
1、在Assets下放一个简单的html文件jstest.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html40/strict.dtd">
<HTML>
<HEAD>
<meta name="viewport" content="width=device-width, target-densitydpi=device-dpi" />
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script>
function showMsg(){
alert("hello world!");
}
function showMsgInAndroid(){
myjs.showMsg('hello in android!');
}
</script>
</HEAD>
<BODY>
<span>测试js使用</span>
<button id='btntest' onclick='showMsgInAndroid()'>调用android方法</button>
</BODY>
</HTML>
I. android里如何调用Js里的函数
Android中内置了WebKit模块,而该模块的Java层视图类就是WebView,所有需要使用Web浏览器功能的Android都需要创建该视图类对象显示和处理请求的网络资源。目前WebKit支持Http、Https、Ftp和JavaScript请求。
1、在Assets下放一个简单的html文件jstest.html
<HTML>
<HEAD>
<metaname="viewport"content="width=device-width,target-densitydpi=device-dpi"/>
<METAhttp-equiv="Content-Type"content="text/html;charset=UTF-8">
<script>
functionshowMsg(){
alert("helloworld!");
}
functionshowMsgInAndroid(){
myjs.showMsg('helloinandroid!');
}
</script>
</HEAD>
<BODY>
<span>测试js使用</span>
<buttonid='btntest'onclick='showMsgInAndroid()'>调用android方法</button>
</BODY>
</HTML>
2、布局文件main.xml
<?xmlversion="1.0"encoding="utf-8"?>
<RelativeLayout
android:id="@+id/rl_main"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<WebView
android:id="@+id/wv_test"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_above="@+id/btn_showmsg"/>
<Button
android:id="@+id/btn_showmsg"
android:layout_width="200dip"
android:layout_height="40dip"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:text="调用html中js方法"/>
</RelativeLayout>
3、然后是Activity,MainActivity.java
packagecom.harold.jstest;
importcom.harold.base.JSKit;
importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.os.Handler;
importandroid.view.View;
importandroid.view.View.OnClickListener;
importandroid.webkit.WebChromeClient;
importandroid.webkit.WebView;
importandroid.widget.Button;
{
privateWebViewmWebView;
privateButtonbtnShowInfo;
privateJSKitjs;
privateHandlermHandler=newHandler();
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//初始化控件
mWebView=(WebView)findViewById(R.id.wv_test);
btnShowInfo=(Button)findViewById(R.id.btn_showmsg);
//实例化js对象
js=newJSKit(this);
//设置参数
mWebView.getSettings().setBuiltInZoomControls(true);
//内容的渲染需要webviewChromClient去实现,
//设置webviewChromClient基类,解决js中alert不弹出的问题和其他内容渲染问题
mWebView.setWebChromeClient(newWebChromeClient());
mWebView.getSettings().setJavaScriptEnabled(true);
//把js绑定到全局的myjs上,myjs的作用域是全局的,初始化后可随处使用
mWebView.addJavascriptInterface(js,"myjs");
mWebView.loadUrl("file:///android_asset/jstest.html");
btnShowInfo.setOnClickListener(newOnClickListener(){
@Override
publicvoidonClick(Viewv){
mHandler.post(newRunnable(){
@Override
publicvoidrun(){
//调用HTML中的javaScript函数
mWebView.loadUrl("javascript:showMsg()");
}
});
}
});
}
}
J. 请问,哪种浏览器支持JavaScript——本人使用安卓手机。
都是支持的吧,编程是需要Java语言的,你可以试试手机QQ浏览器,它是为不同的系统定制的,不同的系统,浏览器的ua标示也是不一样的,这个浏览器的兼容性是很好地,可以下载各种各样的插件,视频解码器插件,还有字体插件都是可以下载的,并且它的运行速度也是很快,用来看视频也不会卡,还可以用这个浏览器来看免费的小说,挺好用的。。。