首页 > 解决方案 > 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,它也无法正常工作。WKPreferenceswindow

有谁知道发生了什么?


编辑:问题是网页是动态加载的,除非我一直滚动到底部,否则我试图跳转到的片段标识符不存在。现在,我的工作是使用 javascript 一直向下滚动,然后转到哈希片段标识符。

有人有更聪明的解决方案吗?

标签: javascriptiosobjective-cwkwebviewfragment-identifier

解决方案


推荐阅读