【问题标题】:uiWebview call javascript function syntaxuiWebview调用javascript函数语法
【发布时间】:2012-08-12 10:56:29
【问题描述】:

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

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

对于我正在尝试的 iOS,

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

iOS 的正确语法是什么?谢谢。

【问题讨论】:

标签: javascript iphone ios xcode


【解决方案1】:

根据this answer on another similar question,您需要实现UIWebView委托方法webViewDidFinishLoad:,并在其中实现[myWebView stringByEvaluatingJavaScriptFromString:@"myJavaScriptCode()"]

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

- (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)scriptcan be found here 的文档。

现在对于您问题的另一部分(感谢澄清!).. 要在 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];

【讨论】:

  • 我要脚本!我正在用一个 var 正确地进行 javascript 调用,但是如何用两个来做呢?谢谢
  • 哎呀,您的问题有点含糊,但感谢您的澄清。我已经用详细信息更新了我的答案:)
  • 非常感谢您的帮助。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-09-04
  • 1970-01-01
  • 2014-12-02
  • 2012-07-18
  • 1970-01-01
  • 2010-10-10
  • 2014-02-22
相关资源
最近更新 更多