Я загружаю страницу в WebView. Страница имеет этот маленький тест Javascript:Cocoa WebView: не удается вызвать конкретный метод Javascript с помощью `callWebScriptMethod:`
<script type="text/javascript">
function test(parametr)
{
$('#testspan').html(parametr);
}
var bdu = (function(){
return {
secondtest: function(parametr) {
$('#testspan').html(parametr);
}
}
})();
</script>
Проблема заключается в том, что я не могу назвать «secondtest функции» из какао
это прекрасно работает:
[[webview1 windowScriptObject] callWebScriptMethod:@"test" withArguments:arguments];
и это не работает:
[[webview1 windowScriptObject] callWebScriptMethod:@"bdu.secondtest" withArguments:arguments];
Что может вызвать эту проблему и как ее исправить?
Благодаря
Я отправлю это как комментарий вместо Ответ: Я не знаю много о Javascript, но похоже, что функция secondTest встроена внутри блока, который сам находится внутри вызова функции. Я не вижу, как что-то внешнее по отношению к скрипту может разрешить его как вызываемую функцию. (Если это работает в Javascript, этот язык является еще большим крушением поезда, чем я думал.) Я бы удалил функцию из своего внедрения и посмотрел, работает ли она. Если это так, то вложение неверно. – TechZen