2016-06-14 54 views
1

如何在nativescript的webview中调用Javascript函数(并在Web视图执行方法之后注册要执行的回调函数)?如何在nativescript的webview中调用Javascript函数?

+0

这个问题不够精确,无法准确理解你想要的东西。你想在WebView中调用一个JS函数吗?或者您是否想要从WebView内部的NativeScript运行库中调用JS函数? – Nathanael

+0

“......或者您是否想从WebView内部的NativeScript运行库中调用JS函数?” 就是这样@Nathanael! 在我的loadStarted事件我想调用一个JS函数驻留在我的webview,并执行回调函数... –

+0

我的sample.component.ts(ns-angular2): 'loadStarted(event:LoadEventData) { //我想在这里调用一个JS funcion并附加一个回调函数。 //伪代码(来自电子): webview.executeJavaScript(“returnTokens();”,false,function(returnedData:any)SecurityContextInitializer.InitializeWithTokens(returnedData); }); '' –

回答

2

首先是坏的新的,没有什么是“内置的”来做到这一点。这需要你添加一些代码来从webview中反馈回来。在我写的nativescript-webworkers插件中;我这样做的方式是我在Android上使用onJsConfirm函数。在iOS上,我使用userContentControllerDidReceiveScriptMessage回调进行通信。如果你想开发你自己的代码;只需抓住我的webworkers插件的副本,你就可以看到做到这一点的方式。

现在有个好消息,看起来好像已经有一个名为“nativescript-webview-interface”的插件,它为您提供了这个功能,所以您不必自己构建所有绑定代码。它看起来像你所需要做的就是包含它,你将在iOS和Android上与你的webview进行双向通信。

注意;查看NativeScript社区中是否存在插件;你最好的选择是看http://plugins.nativescript.rocks,这就是我对上面列出的插件的了解。

相关问题