由于将系统中的本机脚本版本升级为本机脚本6.0.1 ,因此我无法使用网络视图。
我得到以下错误:
未定义不是对象(评估'this.oLangWebViewInterface.callJSFunction
import :
import { WebView, LoadEventData } from 'tns-core-modules/ui/web-view/';
create :
let webViewInterfaceModule = require('nativescript-webview-interface');
child:
@ViewChild('installationWebView', {static: false}) webView: ElementRef;
object:
private oLangWebViewInterface;
ngAfterViewInit() {
this.setupWebViewInterface();
}
function
private setupWebViewInterface() {
let webView: WebView = this.webView.nativeElement;
this.oLangWebViewInterface = new webViewInterfaceModule.WebViewInterface(webView, '~/www/index.html');
if (webView.android) { // in IOS android will be undefined
webView.android.getSettings().setBuiltInZoomControls(false);
}
// loading devices in dropdown, on load of webView.
webView.on(WebView.loadFinishedEvent, (args: LoadEventData) => {
let message: string;
if (!args.error) {
message = `WebView finished loading of ${args.url}`;
} else {
message = `Error loading ${args.url} : ${args.error}`;
}
console.log(`WebView message - ${message}`);
});
this.listenLangWebViewEvents();
}
连接到设备功能:
private connectToDevice() {
//this.isConnecting = true;
this.oLangWebViewInterface.callJSFunction('connectToDevice', null, (response: any) => {
console.log(JSON.stringify(response));
});
}
答案 0 :(得分:0)
我尝试将代码更改为此
public onWebViewLoaded(webargs:any){
const webview:WebView = webargs.object;
console.log(“ onWebViewLoaded()” + webview);
this.oLangWebViewInterface = new WebViewInterface(webview,'〜/ www / index.html'); //如果(webView.android){
//在IOS android中将是未定义的
// webView.android.getSettings()。setBuiltInZoomControls(false);
//}
webview.on(WebView.loadFinishedEvent,(args:LoadEventData)=> { let message =“”;
if(!args.error){
message = WebView已完成$ {args.url}的加载; }其他{
message =加载$ {args.url}时出错:$ {args.error}; }
console.log(WebView消息-$ {message});
});
this.listenLangWebViewEvents(); }
从“ nativescript-webview-interface”导入{WebViewInterface};
从'tns-core-modules / ui / web-view'导入{WebView,LoadEventData};
知道我只有一个问题
WebView消息-加载〜'/ www / index.html'时出错:在此服务器上找不到请求的URL。