iOS 调用本地.js文件的方法

JavaScript010

iOS 调用本地.js文件的方法,第1张

接到一个需求,需要我调用本地.js文件里的方法,我一开始就想当然的直接用webView去调用:

结果是一直在打印error,后来发现并不能去调.js文件里的东西,但是可以用html文件包装一下.js文件

这样就能访问到generatorBrainKey()方法了,但是在真机测试的时候又出现问题了,因为我们写的地址是固定的,无法找到指定的.js文件,这个问题的当时纠结了半天,结果发现解决办法就是把前面的地址去掉只保留文件名就行.

这样就没问题了.

(1)在html文件的head中添加代码,例如:

<script src="../js/jquery-1.7.1min.js"></script>(src是js文件的路径)

(2)也可以把js文件直接拖进html页面

科普:JS一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。

在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/htmlcharset=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>