我正在使用网络视图显示网站的移动版本,但是导航存在两个问题。
第一:我想向要加载的网址添加一些参数。例如。单击一个元素,然后转到 www.mywebsite.com/1234 / 。我想向此网址添加两个参数,然后重定向到 www.mywebsite.com/1234/?param1=1¶m2=2 。现在,我有了执行此重定向的代码,但是它很慢,而且我不知道是否存在另一种无需进行重定向的方法,因为我两次调用了 onLoadStarted 函数。
代码:
onLoadStarted(args: LoadEventData) {
if (!args.error && this.previousUrl != args.url) {
this.webViewSrc = args.url + "?param1=1¶m2=2";
this.previousUrl = this.webViewSrc;
}
}
第二个:我正尝试使用android中的物理后退按钮返回,但是在点击此按钮或给我一个错误后,该应用始终会关闭,但不会重定向到上一个网页。我正在捕获后退按钮事件,但是我不知道如何指定先前的URL并避免关闭该应用程序。我尝试应用与上一点相同的方法,但始终关闭该应用程序。如果对于点1(两次重定向)不存在其他方式,我如何指定back事件转到上一个url(带有参数的前一个url,而不是没有参数的当前url)。我尝试使用webview.goBack(),但始终给我goBack不是函数。我使用以下代码捕获事件:
ngOnInit() {
if (!isAndroid) {
return;
}
application.android.on(AndroidApplication.activityBackPressedEvent, (data: AndroidActivityBackPressedEventData) => {
if (this.webView.canGoBack) {
this.webView.goBack();
}
}
}
我想要的流程的完整示例:
完整代码: -Component.ts:
webViewSrc = "https://www.mywebsite.com/";
previousUrl = "";
ngOnInit() {
if (!isAndroid) {
return;
}
application.android.on(AndroidApplication.activityBackPressedEvent, (data: AndroidActivityBackPressedEventData) => {
if (this.webView.canGoBack) {
this.webView.goBack();
}
}
}
onLoadStarted(args: LoadEventData) {
if (!args.error && this.previousUrl != args.url) {
this.webViewSrc = args.url + "?param1=1¶m2=2";
this.previousUrl = this.webViewSrc;
}
}
<WebView id="webviewId"
[src]="webViewSrc"
(loadStarted)="onLoadStarted($event)"
(loadFinished)="onLoadFinished($event)">
</WebView>
在简历中:
问题1:在元素上单击,直接使用参数进入url www.mywebsite.com -> www.mywebsite.com/1234/?param1=1¶m2=2 没有加载的网址,没有参数的网址(www.mywebsite.com/1234 /)
问题2:在Android后退按钮上,单击我想返回www.mywebsite.com,而不是不带参数的当前网页(www.mywebsite.com/1234 /)
任何提示或帮助都会得到好评。
谢谢