gpt4 book ai didi

javascript - 如何将大量文本从 webview 发送到 objc?

转载 作者:行者123 更新时间:2023-11-29 04:30:23 25 4
gpt4 key购买 nike

我正在尝试为 iPhone 构建一个“类似 iBooks”的阅读器。我从我的网络服务接收到大量文本(html),将其列化(在 WebView 内,通过javascript),然后尝试按顺序从javascript(从 WebView )将一组“列”发送回objective c要创建 viewController,我需要使用 UIPageViewController(每列一个,或者基本上每页一个)。

我使用shouldStartLoadWithRequest来拦截webview中的每个位置更改,将url作为要调用的方法,并将“/”后面的第一个字符串作为该方法的参数,如下所示:

- (BOOL)webView:(UIWebView*)webViewRef shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType
{

//NSLog(@"REQUEST: %@", request);
NSURL *URL = [request URL]; //Get the URL

if ( [[URL scheme] isEqualToString:@"objc"] ) {

NSMutableString *host = [[URL host] mutableCopy];

[host appendString:@":"];

SEL method = NSSelectorFromString( host );

NSArray *chunks = [URL pathComponents];

NSString *stringToPass = [[chunks objectAtIndex:1] stringByReplacingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
NSLog(stringToPass);

if ([self respondsToSelector:method])
{
[self performSelector:method withObject:stringToPass afterDelay:0.1f];
}

return NO;
}

return YES;
}

我现在的主要问题是,文本可能太长,URL 无法真正包含它(事实上,如果我 NSLog 它,它就会被剪切)。有没有更好的方法来实现同样的目标?

我应该创建一个本地服务器或打开一个套接字将数据从 JS 发送到 objc 还是目前有更简单的方法?

最佳答案

你可以通过调用这样的 JS 函数来向 webview 请求你需要的代码:

NSString* htmlData = [_webView stringByEvaluatingJavaScriptFromString:@"jsFunction()"];

关于javascript - 如何将大量文本从 webview 发送到 objc?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11816020/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com