如何从objective-c方法调用我的phonegap ios应用程序中的javascript函数?

Posted

技术标签:

【中文标题】如何从objective-c方法调用我的phonegap ios应用程序中的javascript函数?【英文标题】:How to call a javascript function in my phonegap ios app from an objective-c method? 【发布时间】:2013-02-13 03:35:15 【问题描述】:

我试过了,但没有用。 这是我的phonegap index.html

<!DOCTYPE html>
<html>
<head>
<script>
function myFunction()

alert("Hello World!");

</script>
</head>
<body>
</body>
</html>

这是我想要触发它的 MainViewController.m 方法:

- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error 
adView.hidden = YES;

// jscript call
[webView stringByEvaluatingjavascriptFromString:@"myFunction()"];

我想要做的甚至可能吗?我根本不知道objective-c,所以我真的迷路了。请帮忙!

【问题讨论】:

Javascript 存在于 Web 浏览器客户端中。 Objective-C(或者,就此而言,C++、C# 等)在平台级别运行。两个完全不同的世界。 我明白这一点,但我认为现在可能。看看这个***.com/questions/7719881/…我不明白答案所以我不能这样做。 【参考方案1】:

是的,你绝对可以做到!

stringByEvaluatingJavaScriptFromString”可以解决问题。

这里是你需要在你需要触发的地方应用的语法:

[self.webView stringByEvaluatingJavaScriptFromString:@"YOUR JAVASCRIPT FUNCTION()"];

【讨论】:

【参考方案2】:

根据我的理解,使用 phonegap 的整个想法是让您无需学习objective-c。您可以使用 HTML5、CSS 和 Javascript 库(如 JQuery)来使应用程序做您想做的事情。

您可以使用 phonegap.js API 和插件来访问本机功能。

【讨论】:

是的,但就我而言,我需要。我发布的内容并不是我使用它的目的,它只是一种简单的方式来解释我需要做什么。 知道了...我已经使用Phonegap 几个月了,但我认为这是不可能的,但我相信如果有的话,这里有人会给出答案。祝你好运。

以上是关于如何从objective-c方法调用我的phonegap ios应用程序中的javascript函数?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用单个参数从 Javascript 调用 Objective-C 方法并在 Xcode 中处理它

如何从Javascript调用Objective-C方法并将数据发送回iOS中的Javascript?

如何从我的 windows phone 8 应用程序调用 yandex navigator?

通过 Cordova 插件从 Objective-C 调用 Javascript

如何从别处调用 Objective-C 对象的超类的方法?

如何从 AudioUnits C 函数调用 Objective-C 方法? (iOS)