网页 js

JS与iOS之间的通信,主要运用两个方法:(PhoneGap框架也是基于此原理)

1、UIWebView的  stringByEvaluatingJavaScriptFromString方法

2、UIWebViewDelegate的

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType方法

示例:

上部分是一个UIWebView,实现UIWebViewDelegate

  1. - (void)viewDidLoad
  2. {
  3. [super viewDidLoad];
  4. NSString *path = [[NSBundle mainBundle] pathForResource:@"jm/info" ofType:@"html"];
  5. NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL fileURLWithPath:path]];
  6. [self.webView loadRequest:request];
  7. }


  1. #pragma mark - UIWebViewDelegate
  2. - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
  3. {
  4. if([request.mainDocumentURL.relativePath isEqualToString:@"/getInfo/name"])
  5. {
  6. NSString *info = [[UIDevice currentDevice] name];
  7. NSString *js = [NSString stringWithFormat:@"showInfo(\"name\",\"%@\")",info];
  8. [self.webView stringByEvaluatingJavaScriptFromString:js];
  9. return false;
  10. }
  11. if([request.mainDocumentURL.relativePath isEqualToString:@"/getInfo/systemVersion"])
  12. {
  13. NSString *info = [[UIDevice currentDevice] systemVersion];
  14. NSString *js = [NSString stringWithFormat:@"showInfo(\"systemVersion\",\"%@\")",info];
  15. [self.webView stringByEvaluatingJavaScriptFromString:js];
  16. return false;
  17. }
  18. return true;
  19. }

JS代码:

    1. <!DOCTYPE html>
    2. <html>
    3. <head>
    4. <title>city</title>
    5. <meta charset="utf-8">
    6. <meta name="viewport" content="width=device-width, initial-scale=1">
    7. <link rel="stylesheet" href="jquery.mobile-1.0.css"/>
    8. <script type="text/javascript" src="jquery.js"></script>
    9. <script type="text/javascript" src="jquery.mobile-1.0.js"></script>
    10. <script>
    11. function getInfo(name)
    12. {
    13. window.location = "/getInfo/"+name;
    14. }
    15. function showInfo(id,info)
    16. {
    17. $("p#"+id).html(info);
    18. }
    19. </script>
    20. </head>
    21. <body>
    22. <div data-role="page">
    23. <div data-role="content">
    24. <h2>Divice Info</h2>
    25. <div data-role="collapsible-set" data-theme="c" data-content-theme="d">
    26. <div data-role="collapsible">
    27. <h3 onclick="getInfo(‘name‘)">name</h3>
    28. <p id="name"></p>
    29. </div>
    30. <div data-role="collapsible">
    31. <h3 onclick="getInfo(‘systemVersion‘)">systemVersion</h3>
    32. <p id="systemVersion"></p>
    33. </div>
    34. </div>
    35. </div>
    36. </div>
    37. </body>
    38. </html>
时间: 2024-10-17 18:45:32

网页 js的相关文章

转载 【iOS开发】网页JS与OC交互(JavaScriptCore) OC -----&gt;JS

目标 本文介绍利用苹果在iOS7时发布的JavaScriptCore.framework框架进行js与OC的交互.我们想要达到的目标是: OC调用网页上的js方法 网页js调用APP中的OC方法 JavaSciptCore.framework框架介绍 JavaScriptCore是webkit的一个重要组成部分,主要是对js进行解析和提供执行环境.具体介绍请看这篇简书的文章:JavaScriptCore 使用 准备环境 创建一个名为JS与OC交互Demo的iOS工程.然后在storyboard添

输入密码才能浏览网页JS代码

代码一: <script type="text/javascript"> function password() { var testV = 1; var pass1 = prompt('请输入密码',''); while (testV < 3) { if (!pass1) history.go(-1); if (pass1 == "123") {//初始密码123 alert('密码正确!'); break; } testV+=1; var pa

C#和网页js互调代码

C#和网页js互调代码 1.先写个网页放在主程序目录下:test.html <!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8" /> <title>测试网页</title> <script> function MyFun

iOS - OC和网页JS的交互

我们知道,在iOS开发过程中,有时候会用webview加载一张网页,网页上有一些按钮或者其他的一些链接,要使这些按钮有实际的作用,1??要么就是网页部分在HTML文件内部自己实现方法,2??要么就是通过OC和网页的交互,在本app内OC实现点击网页的按钮,可以触发自己OC写的方法. 下面我讲两种常用的方法. 第一种是遵守webview的协议,通过实现协议方法截取网络请求,通过这个截取到的网络请求进行解析,然后实现自己的方法. 第二种方法是用了一个叫WebViewJavascriptBridge

借助动态代码生成技术在基于Webkit引擎的HTML5网页JS内调用易语言函数

作者:庄晓立(Liigo) 日期:2015年3月3日夜 原创链接:http://blog.csdn.net/liigo/article/details/44045177 版权所有,转载请注明出处:http://blog.csdn.net/liigo 前两天我协助解决了一个技术问题,在此稍作记录和总结. 具体来说,就是在使用基于Webkit引擎的封装组件wke的过程中,需要把一个易语言函数注册给JavaScript引擎,让它可以在网页里被调用(就像在网页里调用普通JavaScript函数一样).如

iOS 加载本地HTML网页 js css images等文件

开发环境:Xocde Version 7.0.1 (7A1001) 模拟器SDK:Version 9.0 (SimulatorApp-620 CoreSimulator-179) 项目需求:在进入一个新的页面时,webView展示本地HTML网页,并带js交互. 需要注意:调了一下午也没跳出来,错误原因就是往工程里拖要显示的html等资源时,选错了选项. 选creat groups ,运行时会崩溃: reason: '*** -[NSURL initFileURLWithPath:]: nil

hlConsole – 手机网页JS日志查看工具

前端的同学都知道,在开发PC页面的时候,经常用到F12的Console,来查看日志.调试.定位问题.但是在手机环境下,看不到Console,最笨的方法就是用alert代替,但是调试起来十分的不方便. hlConsole,是一款网页版的Console,可以方便的看到手机网页里,js输出的各种日志.而且使用非常简单,只需要引用一个JS即可.第一步:用PC浏览器打开http://console.hongliang.org/.如图: 第二步:登录(如果不想注册,可以使用Guest用户).如图: 第三步:

西瓜播放器网页js调用

获取西瓜播放器网页嵌套代码 (代码需要放置在<body></body>之间): <script language="javascript"> var XgPlayer = { 'Url': "ftp://pub:[email protected]:20320/421/00.mp4", //本集播放地址,需更改 'NextcacheUrl': "ftp://pub:[email protected]:20320/421/0

扒前端网页js代码

红框是前端代码:输出script中 的内容 可以把红色区域的前端代码 转为java代码 来扒别的网站前端代码 转换成java代码之后,在控制台输入以下代码,点击回车则可以去打印出当前网页上的js 1 for(var i=0,l=document.scripts.length;i<l;i++){ 2 if(!!document.scripts[i].innerHTML)console.log(i,document.scripts[i].innerHTML); 3 } 原文地址:https://ww

偷天换日:网络劫持,网页js被伪装替换。

偷天换日 3月12号石家庄一个客户(后面简称乙方)有几家门店,平台收银(web)功能有一些功能无法正常使用,平台有上千家门店在使用,到目前为止别的省份都没有此问题.远程协助发现,js日期控件无法正常调用,报js错误.日期插件用的是my97datepicker,用了这么久也没见出过什么问题. 浏览器查看页面加载的js,发现页面本身加载的js中有重复的(随机重复),一个是common.js还有个common.js?145001231.代码中只有common.js.点开common.js?145001