首页 web前端 html教程 UIWebView与javascript交互三通过OC页面来改变html页面上的值_html/css_WEB-ITnose

UIWebView与javascript交互三通过OC页面来改变html页面上的值_html/css_WEB-ITnose

Jun 24, 2016 am 11:45 AM

有一件事要说一下哦, 《UIWebView与javascript交互一》这篇博客被几个网站给转载了,很开心,但是开心之余有一点觉得要说一下,大家转载别人的文章的时候记得说明一下转载的出处,有两方面的原因,第一就是尊重作者的劳动成果,另一方面,由于博客里有的时候有一些demo,但是转载的人并没有把demo的下载地址给贴出来,给看到博客的同学带来了很大的不便。
接上篇,我们已经实现了通过html按钮来传数据到oc页面,但是没有实现通过oc页面传数据到js页面,并修改html的页面,谈不上真正完全的交互,这里将和大家分享一下。
开始先把test.html的代码给大家分享一下:

<html>    <head>        <title>test</title>        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>        <script type ="text/javascript" src ="test.js"></script>    </head>    <body>        <form name="myform" onsubmit ="return false;">            <table>                <tr>                    <td height ="30" width ="320" align="center" bgcolor="#DC143C">I'm Jack,I'm an IOS coder</td>                </tr>                <tr>                    <td height ="30" width ="320" align="center">                        <input name ="input1" id ="input1" type="text" size="25" maxlength="100" >                            </td>                </tr>                <tr>                    <td height="30" width="60" align="center">                        <input name ="submit" type="submit" value="submit" onClick ="check()">                            </td>                </tr>                <tr>                    <td height="30" width="60" align="center">                        <input name ="changevalue" type="submit" value="changevalue" onClick ="change_value()" >                            </td>                </tr>                <tr>                    <td height ="30" width ="320" align="center">                        <input name ="input2" id ="input2" type="text" size="25" maxlength="100" >                            </td>                </tr>            </table>        </form>    </body></html>
登录后复制

其中有两个地方需要提醒大家一下,以免犯和我同样的错误哦

红线部分的onsubmit =”return false;”主要因为我用了button触发事件,submit默认刷新页面,所以要returnfalse来禁止触发事件后刷新页面。

红线部分,input的value和Onclick()函数的函数名字不能相同,要不然函数不能够被调用。
这两个地方都是自己不注意犯下的错误花了好长的时间又问了好几个人,最后才找到问题的所在。学的教训,大家一定要记得哦!!!
下面大家看下test.js文件的代码:

window.onerror = function(err) {    log('window.onerror: ' + err);};function connectWebViewJavascriptBridge(callback) {    if (window.WebViewJavascriptBridge) {        callback(WebViewJavascriptBridge);    } else {        document.addEventListener('WebViewJavascriptBridgeReady', function() {                                  callback(WebViewJavascriptBridge);                                  }, false);    }}function check(){    connectWebViewJavascriptBridge(function(bridge) {                                   var str = document.getElementById('input1').value;//将第一个输入框的值传递到OC页面中去                                   bridge.callHandler('submit', str, function(response) {                                                      log('JS got response', response);                                                      });                                   });}function change_value(){    connectWebViewJavascriptBridge(function(bridge) {                                   bridge.init(function(message, responseCallback) {                                               log('JS got a message', message);                                               var data = { 'Javascript Responds':'Wee!' };                                               log('JS responding with', data);                                               responseCallback(data);                                               });                                   bridge.registerHandler('changeValueHandler', function(data, responseCallback) {                                                          document.getElementById('input2').value ='3';//改变html页面上第二个输入框的值                                                          var responseData = { 'Javascript Says':'Right back atcha!' }                                                          responseCallback(responseData)                                                          });                                   });}
登录后复制

不多说了demo下载地址

另外今天看到了一片博客对我的思路的启发很大也和大家分享下:
http://honglu.me/2014/09/27/WebViewJavascriptBridge使用/

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

HTML容易为初学者学习吗? HTML容易为初学者学习吗? Apr 07, 2025 am 12:11 AM

HTML适合初学者学习,因为它简单易学且能快速看到成果。1)HTML的学习曲线平缓,易于上手。2)只需掌握基本标签即可开始创建网页。3)灵活性高,可与CSS和JavaScript结合使用。4)丰富的学习资源和现代工具支持学习过程。

HTML,CSS和JavaScript的角色:核心职责 HTML,CSS和JavaScript的角色:核心职责 Apr 08, 2025 pm 07:05 PM

HTML定义网页结构,CSS负责样式和布局,JavaScript赋予动态交互。三者在网页开发中各司其职,共同构建丰富多彩的网站。

了解HTML,CSS和JavaScript:初学者指南 了解HTML,CSS和JavaScript:初学者指南 Apr 12, 2025 am 12:02 AM

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。

HTML中起始标签的示例是什么? HTML中起始标签的示例是什么? Apr 06, 2025 am 12:04 AM

AnexampleOfAstartingTaginHtmlis,beginSaparagraph.startingTagSareEssentialInhtmlastheyInitiateEllements,defiteTheeTheErtypes,andarecrucialforsstructuringwebpages wepages webpages andConstructingthedom。

Gitee Pages静态网站部署失败:单个文件404错误如何排查和解决? Gitee Pages静态网站部署失败:单个文件404错误如何排查和解决? Apr 04, 2025 pm 11:54 PM

GiteePages静态网站部署失败:404错误排查与解决在使用Gitee...

如何用CSS3和JavaScript实现图片点击后周围图片散开并放大效果? 如何用CSS3和JavaScript实现图片点击后周围图片散开并放大效果? Apr 05, 2025 am 06:15 AM

实现图片点击后周围图片散开并放大效果许多网页设计中,需要实现一种交互效果:点击某张图片,使其周围的...

网页批注如何实现Y轴位置的自适应布局? 网页批注如何实现Y轴位置的自适应布局? Apr 04, 2025 pm 11:30 PM

网页批注功能的Y轴位置自适应算法本文将探讨如何实现类似Word文档的批注功能,特别是如何处理批注之间的间�...

HTML,CSS和JavaScript:Web开发人员的基本工具 HTML,CSS和JavaScript:Web开发人员的基本工具 Apr 09, 2025 am 12:12 AM

HTML、CSS和JavaScript是Web开发的三大支柱。1.HTML定义网页结构,使用标签如、等。2.CSS控制网页样式,使用选择器和属性如color、font-size等。3.JavaScript实现动态效果和交互,通过事件监听和DOM操作。

See all articles