javascript - cocoa WebView : Cannot call Specific Javascript method using `callWebScriptMethod:`

标签 javascript objective-c cocoa webview

我正在将页面加载到 WebView 中。该页面有这个小测试 Javascript:

<script type="text/javascript">
function test(parametr)
{

  $('#testspan').html(parametr);

}

var bdu = (function(){
 return {
  secondtest: function(parametr) {

  $('#testspan').html(parametr);

  }
 }
})();
</script>

问题是我无法从 cocoa 调用“secondtest”函数

这是完美的工作:

[[webview1 windowScriptObject] callWebScriptMethod:@"test" withArguments:arguments];

这是行不通的:

[[webview1 windowScriptObject] callWebScriptMethod:@"bdu.secondtest" withArguments:arguments];

什么会导致这个问题,我该如何解决?

谢谢

最佳答案

我在 Cordova MacOSX 中为此苦苦挣扎了一段时间,这里是我找到并适用于我的解决方案:

JavaScript:

CordovaBridgeUtil.isObject = function(obj) { return obj.constructor == Object; };

objective-c :

WebScriptObject* bridgeUtil = [win evaluateWebScript:@"CordovaBridgeUtil"];
NSNumber* result = [bridgeUtil callWebScriptMethod:@"isObject" withArguments:[NSArray arrayWithObject:item]];

关于javascript - cocoa WebView : Cannot call Specific Javascript method using `callWebScriptMethod:` ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2333791/

相关文章:

javascript - 如果在 JavaScript 中它是空对象,如何将最深对象更改为字符串值

javascript - 在 Javascript 中的函数之间传递变量 (Titanium Studio Desktop)

javascript - Apps 脚本 OAuth2 授权使用 HtmlService 内部的gapi

objective-c - 有时不调用 NSUbiquitousKeyValueStoreDidChangeExternallyNotification

objective-c - Objective-c 中的 "instance variable"和 "property"之间有区别吗?

cocoa - NSSegmentedCell 子类绘图

javascript - 我怎么知道一个数组在 Javascript 中包含全零(0)

objective-c - 对大量缺失的、非常基本的 Objective-C 类进行故障排除

cocoa - 在 NSMenuItem 中使用图像的正确方法?

swift - 初始化 Struct 实例后使用 String 变量获取 Struct 属性