uiWebview 调用 javascript 函数语法

uiWebview call javascript function syntax

本文关键字:语法 函数 javascript 调用 uiWebview      更新时间:2023-09-26

我正在将我的应用程序从安卓迁移到 iOS,对于以下行,编译器在 iOS 上返回错误,

webviewA.loadUrl("javascript:setVars('"" + var1 + "'",'"" + var2 + "'")");//在安卓上正确执行

对于我正在尝试的 iOS,

[webViewA stringByEvaluatingJavaScriptFromString:@"javascript:setVars('"" + var1 + "'",'""  + var2 +  "'")"];

哪个是iOS的正确语法?谢谢。

根据

另一个类似问题的回答,您需要实现UIWebView委托方法webViewDidFinishLoad:,并在那里实现[myWebView stringByEvaluatingJavaScriptFromString:@"myJavaScriptCode()"]

为了使其正常工作,您需要在UIWebView实例上设置委托并实现上面提到的委托方法,以便在页面加载后执行 JavaScript。

可在此处找到- (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script的文档。

现在对于您问题的另一部分(感谢您的澄清!).要在Objective-C中连接字符串,您可以使用NSString类方法stringWithFormat:

例如,要将两个 Objective-C 值传递给 JavaScript 字符串,您可以执行以下操作:

// Substitute your Objective-C values into the string
NSString *javaScript = [NSString stringWithFormat:@"setVars('%@', '%@')", var1, var2, nil];
// Make the UIWebView method call
NSString *response = [webViewA stringByEvaluatingJavaScriptFromString:javaScript];