####在开发中遇见一个问题:

获取H5某个meta的值,在iOS 10(包括)系统以上可以正常获取,但是在iOS 10系统以下获取meta值返回为nil。

#####代码如下:

NSString *js = [NSString stringWithFormat:@"document.getElementsByTagName('meta')['%@']['content']",metaName];
NSString *meta =  [webView stringByEvaluatingJavaScriptFromString:js];
复制代码

这时候返回值在iOS 10系统以上正常,iOS 10系统以下得到neta值为nil。js是可以获取到的,但是调用stringByEvaluatingJavaScriptFromString方法后返回值为nil。

上网查了很多问题,查找的都是stringByEvaluatingJavaScriptFromString在iOS 10一下系统为什么会返回nil。网上说要用JSContext,或者用WKWebVIew获取JS meta的。但是我们项目只用了UIWebVIew。只能试试JSContext,测试也不行,但是这时候把获取JS meta字符串方法换了,竟然可以获取到了。

document.getElementsByTagName("input"),结果为获取所有标签为input的元素。 document.getElementsByName("hobby"),结果为获取属性name="hobby"的元素。

**解决办法:**更改获取JS meta的方法:

NSString *js = [NSString stringWithFormat:@"document.getElementsByName(\"%@\")[0].content",metaName];
复制代码

在调用[webView stringByEvaluatingJavaScriptFromString:js]就都能返回正常了。

iOS开发实战小知识点(五)——获取JS meta异常相关推荐

  1. iOS开发实战小知识点(四)

    一. iOS 连续多次 Present VC,dismiss 之后可能异常 记住: 谁present 谁dismiss. 我们习惯都是在presented VC直接dismiss的,一般不会出现问题, ...

  2. 小米手环iOS开发实战(二):开发Demo让你的手环振动起来

    小米手环iOS开发实战(二):开发Demo让你的手环振动起来 上一节讲了CoreBluetooth的使用,理论知识很枯燥,那么现在先利用上一节讲的内容,做一个简易手环应用,实现连接/断开手环,查看手环 ...

  3. Xamarin iOS开发实战中册 (内部资料)C#苹果应用开发

    Xamarin iOS开发实战中册 (内部资料)C#苹果应用开发 Xamarin iOS开发实战中册 (内部资料)C#苹果应用开发 试读样章下载地址:http://pan.baidu.com/s/1j ...

  4. Xamarin iOS开发实战(内部资料)

    Xamarin iOS开发实战 (内部资料) 介绍:本教程是国内Xamarin针对iOS 9开发的唯一教程.本教程针对Mac OS X10.11/Windows 10两种系统平台,讲解如何使用Xama ...

  5. 【iOS开发每日小笔记(一)】UIPickerView 自动选择某个component的某个row

    这篇文章是我的[iOS开发每日小笔记]系列中的一片,记录的是今天在开发工作中遇到的,可以用很短的文章或很小的demo演示解释出来的小心得小技巧.它们可能会给用户体验.代码效率得到一些提升,或是之前自己 ...

  6. Android项目开发实战常用知识点

    Android项目开发实战常用知识点 一:启动页延时两秒再跳转到主界面: //执行类 private class SlpashRunnable implements Runnable {@Overri ...

  7. 【全栈开发实战小草看书之Web端(八)主入口】

    全栈开发实战小草看书之Web端(八)主入口 Html文件(index.html) <!DOCTYPE html> <html lang="en"><h ...

  8. 小米手环iOS开发实战(一):iOS蓝牙框架CoreBluetooth

    小米手环iOS开发实战(一):iOS蓝牙框架CoreBluetooth 本项目为对小米手环进行二次开发,利用了小米手环蓝牙连接并不安全的特性,连接后可以获取手环数据,并可修改数据. 本实例使用Swif ...

  9. Xamarin iOS开发实战1.1.3Xamarin版本

    Xamarin iOS开发实战1.1.3Xamarin版本 Xamarin提供了免费版和付费版.免费版本包含Xamarin Studio服务.付费版本分为普通版299美元/年.商业版999美元/年和企 ...

最新文章

  1. 转 PHP 使用 Redis
  2. 大话设计模式C++版——装饰模式
  3. wps出现安装installer_判断本机是否安装Microsoft Office或者wps
  4. java开发工程师的自我评价
  5. 深度学习笔记(18) 迁移学习
  6. mysql8.0下载64位_MySQL数据库8.0
  7. 【Docker】 命令速查
  8. 使用rkhunter检测rootkit
  9. 基于JAVA实现的WEB端UI自动化 -自动化测试简单介绍
  10. OpenEmu:一个让你在Mac上爽快体验任天堂的模拟器
  11. 马克思主义概论(第二章)
  12. 手机照片误删除恢复 亲测可行 MTP模式下恢复数据 USB存储模式
  13. Android开发学习心得 (一) 生如夏花之绚烂,死如秋叶之静美 -- App的生死轮回
  14. 小智机器人江苏赞_小智伴机器人外观说明
  15. Java简单类、变量详解(概念和分类、声明、命名、初始化)
  16. Grafana密码重置
  17. 在ubuntu20.04/18.04下安装无线网卡rtl8192fu驱动
  18. 2019计算机学院年会主持稿,2019学校元旦联欢晚会主持词(开场白+结尾)
  19. kmp算法例题 登山
  20. 零基础 Ubuntu 20.04.01 下搭建51单片机开发环境[开源编译器SDCC]

热门文章

  1. 8086CPU寄存器介绍
  2. mysql bytessent_如何对DSQLSERVER、MySQL、Orache语句性能分析
  3. go channel 缓冲区最大限制_[Go区块链基础]go channel
  4. 5G NR 同步过程
  5. access violation at address in module Read of address
  6. ClickOnce 部署概述
  7. XP系统,CMD窗口总是只显示最后一屏的信息,如何能让全部信息都显示出来呢??
  8. Oracle查看死锁 .
  9. 转:【Python3网络爬虫开发实战】6.4-分析Ajax爬取今日头条街拍美图
  10. 【转】xargs命令详解,xargs与管道的区别