2016-06-14 82 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,這就是我對上面列出的插件的瞭解。

相關問題