gpt4 book ai didi

javascript - stringByEvaluatingJavaScriptFromString 的奇怪问题不适用于 NSUSerDefault 值...请帮忙!

转载 作者:行者123 更新时间:2023-11-28 02:49:01 26 4
gpt4 key购买 nike

我正在为我拥有的图书阅读器 iOS 应用程序开发书签功能。按照现在的设置方式,用户滚动浏览 View ,当他们想要保存或在离开之前为他们的位置添加书签时,他们可以点击底部工具栏上的保存按钮。

当他们点击此保存按钮时,将调用保存的操作:

-(IBAction) savePlace:(id)sender{

int pageYOffset = [[webView stringByEvaluatingJavaScriptFromString:@"window.pageYOffset"] intValue];
NSLog(@"%d Set Y Value", pageYOffset);
[[NSUserDefaults standardUserDefaults] setSavedSpot:pageYOffset];

}

令人惊讶的是,我已经让这部分工作了。我可以点击保存按钮,控制台会读取 200 表示我在屏幕上的位置,然后当我离开并返回时,由于 NSUSerDefaults 调用的这个方法,200 再次打印到控制台应用程序加载:

- (void) setCurrentSpot:(NSUInteger)ySpot {

NSLog(@"%d Saved Y Value", ySpot);

[webView stringByEvaluatingJavaScriptFromString: [NSString stringWithFormat: @"window.scrollTo(0, %d);", ySpot]];
}
但是!什么也没发生...我知道我正在保存并正确检索正确的 Y 轴值,但是当调用该 JavaScript 方法时,它不会触发。

为了使事情变得更加复杂,我继续制作了一个自定义 IBAction 来访问相同 ySpot 值,并使用完全相同的 JavaScript 方法将 View 移动到位置200,而且效果很好!

我错过了什么?我不明白发生了什么事。谢谢

最佳答案

编辑:误读了你的问题,

也许您调用的 javascript 方法调用得太快了?并且不给 UIWebview 时间来初始化和 react ?如果当你等待 webview 出现然后调用它时它有效,那就是我唯一能看到的东西。

关于javascript - stringByEvaluatingJavaScriptFromString 的奇怪问题不适用于 NSUSerDefault 值...请帮忙!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4197150/

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