javascript - ios - WKWebView评估JavaScript不滚动到片段标识符
问题描述
我正在尝试导航到WKWebView
. 为此,我在我WKNavigationDelegate
的 's中有以下调用didFinishNavigation
:
[webView evaluateJavaScript:@"window.location.hash = 'hash';"
completionHandler:^(NSString *result, NSError *error)
{
NSLog(@"Error %@",error);
NSLog(@"Result %@",result);
}];
网页没有滚动到片段。当我将 Safari 开发者控制台连接到我的 ios 设备模拟器进行调试时,我可以看到 window.location.hash 被设置为哈希值。在开发人员控制台中手动设置哈希也不会导致WKWebView
滚动。
起初我认为这是阻止我操作 javascript 对象的javaScriptCanOpenWindowsAutomatically
属性,但即使将其设置为 true,它也无法正常工作。WKPreferences
window
有谁知道发生了什么?
编辑:问题是网页是动态加载的,除非我一直滚动到底部,否则我试图跳转到的片段标识符不存在。现在,我的工作是使用 javascript 一直向下滚动,然后转到哈希片段标识符。
有人有更聪明的解决方案吗?
解决方案
推荐阅读
- java - 如何防止每次测试运行时 gocd 管道下载 maven 依赖项?
- java - 方法中的值发生了我没想到会发生的变化
- node.js - CloudFormation - CREATE_FAILED - AWS::CloudFormation::Stack - VersionsNestedStack
- css - 第 7 行第 5 列的预期冒号
- android - 如何以某种角度删除textview中的特定文本
- caching - 天蓝色实例中的 Gramex redis 缓存设置内存错误
- python - 为什么我不能运行这个查询?大批
- javascript - 构建 Javascript 计算器的问题
- html - 当请求失败服务器逻辑时返回什么状态错误(if-else 条件)
- android - 如何在自定义对话框中向 googleMap 显示?(不显示谷歌地图)