gpt4 book ai didi

javascript - UIWebView 调用带有参数的 JS 将不起作用

转载 作者:行者123 更新时间:2023-11-28 19:17:09 27 4
gpt4 key购买 nike

我有一个 UIWebView,里面有一个 HTML 页面。现在我想在 HTML 中调用一个 JS 函数,并在其中传递一些来自 Objective-C 变量的值。

-  (void) webViewDidFinishLoad:(UIWebView *)_webView{
NSString *selectedValue = [_webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"initWithDataFromObjC(%@)", @"hello"]];

NSLog(@"webViewDidFinishLoad %@", @"YES");
}

HTML文件中的JS函数:

  function initWithDataFromObjC(param1) {
alert(param1);
}

当我在模拟器中运行该应用程序时,有时它会正确加载我的 HTML,有时它会卡住并且没有完成加载。但尽管如此,它并没有显示带有“你好”的弹出窗口!

如果我将编码更改为以下内容:

-  (void) webViewDidFinishLoad:(UIWebView *)_webView{
NSString *selectedValue = [_webView stringByEvaluatingJavaScriptFromString:@"initWithDataFromObjC()"];

NSLog(@"webViewDidFinishLoad %@", @"YES");
}

无参数的JS函数

function initWithDataFromObjC() {
alert("hello");
}

第二个构造将毫无问题地运行。但是我想知道为什么我尝试传入一些参数时不能正常工作?

BR & THX,

我的贝克斯

最佳答案

尝试:

 NSString *selectedValue = [_webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"initWithDataFromObjC('%@')", @"hello"]];

 NSString *selectedValue = [_webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"initWithDataFromObjC(\"%@\")", @"hello"]];

关于javascript - UIWebView 调用带有参数的 JS 将不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11357016/

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