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

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

IOS 额外说明

收录于:42天前

这几天在做一个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 可以是另一个名称。

. . .

相关推荐

额外说明

Linux如何部署Nginx

Linux如何部署Nginx https://zhuanlan.zhihu.com/p/85973013 linux下Nginx的启动、停止与重启 https://blog.csdn.net/erdfty/article/details/89919513

额外说明

修改idea的jdk内存大小

  如果修改了idea的bin目录下的idea64.exe.vmoptions没用的话,可以去C盘目录更改  

额外说明

centos7 无法连接网络

小伙伴们,你们好,我是老寇 目录 一、解决方案 一、解决方案 1.进入服务,确保VMware服务都启动 2.检查网络配置,控制面板>网络和 Internet>网络连接   大功告成

额外说明

Python常用模块 之 random模块——实现人和电脑猜拳

import random all = ['石头','剪刀','布'] computer = random.choice(['石头','剪刀','布']) #所有赢了的情况 win

额外说明

判断是否工作在docker环境

判断是否工作在docker环境 方式一:判断根目录下 .dockerenv 文件 docker环境下:ls -alh /.dockerenv , 非docker环境,没有这个.dockerenv文件的 注:定制化比较高的docker系统也可能没有这个文件

额外说明

【Python 随练】按键变色

题目: Press any key to change color, do you want to try it. Please hurry up! 简介: 在本篇博客中,我们将解决一个编程问题:按下任意键改变颜色。我们将提供一个完整的代码示例来实现这个

额外说明

问题随记——【Python】 Redirection is not supported.

报错信息 Redirection is not supported. # 不支持重定向 解决方法 RUN --> Edit Configuration --> 勾选 Emulate terminal in output console (运行 -->

额外说明

YoloV8改进策略:InceptionNeXt和YoloV8完美结合,让YoloV8大放异彩(附结构图)

文章目录 论文翻译 摘要 1、简介 2. 相关工作 2.1. Transformer v.s.CNN 2.2. 大核卷积。 3、方法 3.1、MetaNeXt 3.2. Inception深度卷积 3.3. InceptionNeXt 4. 实验 4.1

额外说明

全网详细解决:无法将 “xxx” 项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次

文章目录 1. 复现问题 2. 分析问题 3. 解决问题 1. 复现问题 今天,使用如下命令在Windows PowerShell中执行时: telnet 127.0.0.1 80 却报出如下错误: PS C:\Users\zxy> telnet 12

额外说明

报错:webpack < 5 used to include polyfills for node.js core modules by default

报错:webpack < 5 used to include polyfills for node.js core modules by default. 工作时,集成vue-element-template 框架嵌入 vue2.x 项目中时,报错。应该

ads via 小工具