小工具      在线工具  汉语词典  css  js  c++  java

ios UIWebView内跳转,html5中token失效的解决方案

IOS 额外说明

收录于:97天前

这几天在做一个webview,涉及到加载一个html5页面到webview容器中,然后点击html5页面中的一个链接跳转到下一个html5页面。这两个html5页面的数据加载都和token有关。

对于第一个HTML5页面,第一次加载时token是ok的,然后页面数据也正常。

当加载第二个 html5 页面时,永远找不到令牌。最后发现应该是webview的bug。


解决办法:用这个第三方开源库UIWebView-TS_JavaScriptContext


即当点击一个网页内的链接跳转到另一个网页时,第二个页面需要具有交互性。JSContext环境已经改变了,但是- (void)viewDidLoad它只加载一次。跳转时,交互对象没有再次注入,会导致第二个页面无法交互。

解决方案:

其实网上有一个很好的解决方案,就是创建JSContext环境,我们都注入这个交互对象来解决上面的问题。具体解决方案可以参考这个开源库UIWebView-TS_JavaScriptContext。关于这个开源库我想说一件事:- (void)webView:(id)unused didCreateJavaScriptContext:(JSContext*)ctx forFrame:(id<TSWebFrame>)frame该方法中使用了代理方法parentFrame可能被视为私人的API并被拒绝,在Issues有人提到过。


此处可以修改ParentFrame 可以是另一个名称。

. . .

相关推荐

额外说明

redis知识

1. 数据结构 1.1 字符串(Strings)     设置和获取字符串值。     增加(increment)和减少(decrement)数字值。 1.2 列表(Lists)     左右推入(push)和弹出(pop)元素。     获取列表范围内

额外说明

Java matches() 方法

matches() 方法用于检测字符串是否匹配给定的正则表达式。 调用此方法的 str.matches(regex) 形式与以下表达式产生的结果完全相同: package com.example.面向对象1; import java.util.*; i

额外说明

TypeScript(零) —— 简介、环境搭建、第一个实例

系列文章目录 文章目录 系列文章目录 TypeScript 简介 TypeScript 开发环境搭建 安装 node 安装 TypeScript 创建一个 TS 文件 使用 tsc 对 ts 文件进行编译 在浏览器上运行文件 TypeScript 简介

额外说明

Unity实战篇 | 接入 声网SDK 实现 音频通话 —— 自己动手做一个 语音聊天房

目录 -‍-前言 -Unity 接入 声网SDK 实现 音频通话 第1️⃣步,创建声网应用 第2️⃣步,获取相应的SDK 第3️⃣步,将SDK接入Unity中 第4️⃣步:搭建一个测试场景,编写测试代码 第5️⃣步:音频通话API 第6️⃣步:效果测试

额外说明

mysql:MySQL数据库修改用户权限(远程访问权限、操作权限)

有时候我们需要远程操作数据库,但是MySQL-Server 出于安全方面考虑默认只允许本机(localhost, 127.0.0.1)来连接访问。 所以,我们必须先 修改root可以远程访问的权限 1.通过cmd连接进入数据库 命令输入:mysql -u

额外说明

Springboot集成Camunda流程引擎

Camunda的流程引擎有几种运行方式,最简单的一种就是直接下载Camunda软件包来运行,其他方式就是和Java的框架集成,作为自己的一个应用程序来运行。这里介绍一下如何与Springboot集成来运行。 先按照正常方式新建一个Springboot的项

额外说明

Node.js详解(四):连接MongoDB

文章目录 一、安装MongoDB访问驱动 二、连接数据库 三、添加数据 四、添加多条数据 五、修改数据 六、查询数据 1、查询单条记录 2、查询多条记录 七、删除数据 八、完整示例代码 1、路由 Api 接口: 2、运行结果: MongoDB 对许多平台

额外说明

【Java 基础篇】Java持久化详解

文章目录 导言 一、持久化的概念 二、持久化技术的种类 1. 文件存储 2. 数据库存储 3. 对象关系映射(ORM) 4. 缓存存储 总结 导言 在Java开发中,持久化是一种将数据存储到持久存储介质(如磁盘)上,并能够在需要时重新加载数据的机制。持久

额外说明

google map 自定义右键菜单

 google map 自定义右键菜单,GControlPosition定义菜单的位置.   map.enableDoubleClickZoom();//开启双击google map会自动放大.   map.enableScrollWheelZoom()

额外说明

【AWS 大赛】亚马逊云科技:2023 直冲云霄训练营入营考试报名与答题答案参考

目录 一、报名 (1)选择 “解决方案架构师-助理级”  (2)未登录先注册账号  (3)登录 (4)报名  (5)报名成功  二、答题  (1)开始答题  (2)添加小助手提供答题信息 (3)活动日程 (4)问题与答案参考   一、报名 (1)选择 “

ads via 小工具