我正在將頁面加載到WebView中。該頁面有這個小測試JavaScript:Cocoa WebView:無法使用`callWebScriptMethod調用特定的Javascript方法:`
<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並不瞭解,但看起來第二個測試函數嵌入在本身位於函數調用中的塊內部。我沒有看到腳本外部的任何東西都可以將它解決爲可調用函數。 (如果這在Javascript中起作用,那麼這種語言比我想象的更糟糕。)我會從嵌入中刪除函數,看它是否有效。如果是這樣,那麼嵌入是錯誤的。 – TechZen 2010-02-25 13:39:40