外链一经发布,即可永久留存
5元就可把锚文本外链发布到200个新闻网站

webview 网页外链,webview访问本地前端代码

webview 网页外链,webview访问本地前端代码

深度解析:webview 网页外链、webview 访问本地前端代码

什么是 webview?

在移动应用中,webView 是主要的 HTML 渲染引擎,支持应用程序内嵌 HTML 代码、网页,同时还提供了浏览器中 HTML 标准化内容的上下文。webView 可以打开本地 HTML 文件、外部链接和 HTTPS 网站。

什么是网页外链?

外链是一种在与网页无关的站点上生成连接,让浏览器将用户从一个网站链接到另一个网站。例如,你在博客中添加了一个指向另一个网站的超链接,这就是一个外链。

webView 是否支持网页外链?

是的,在 Android 和 iOS 上,webView 是支持外部连接/跳转的,这是 webView 和 Web 端不同的一点。

如何禁止网页所带的外链跳转?

可以通过重写 webView 的 webChromeClient 中的 onJsAlert 方法,对 Target=\"_blank\" 的链接进行过滤,并改为在 webView 中打开。具体方法如下:

```java
webView.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
if (url != null && url.startsWith(\"http\") && !url.contains(BuildConfig.BASE_URL)) {
view.loadUrl(url);
result.cancel();
return true;
}
return super.onJsAlert(view, url, message, result);
}
});
```

webview 如何访问本地前端代码?

webview 的 loadUrl 方法支持加载本地文件系统中的 HTML 描述的页面,只需将本地页面的路径作为 loadUrl 的参数即可。

示例:

```java
webView.loadUrl(\"file:///android_asset/index.html\");
```

其中 /android_asset 表示 apk 内部的 assets 目录,可以将静态的 HTML、CSS、JS 资源放在此目录下,以便在本地操作。

如何向 webView 传递参数?

webView 支持通过 WebView.loadUrl() 方法将参数传递到 Web 端。传参时,将参数生成为 JSON 格式的字符串,以 URL 的 query 参数的方式拼接到 URL 中。当 Web 端第一次加载页面时,通过解析 URL 中的参数,并传递给 Web 端。

示例:

```java
// Android 中通过 WebView.loadUrl() 方法传递参数
Map params = new HashMap();
params.put(\"param1\", \"value1\");
params.put(\"param2\", \"value2\");
String paramJson = new Gson().toJson(params);
String loadUrl = \"file:///android_asset/index.html\"
+ \"?params=\" + URLEncoder.encode(paramJson);
webView.loadUrl(loadUrl);
// Web 中获取之前传过来的参数
var params = getUrlParam('params', true)
console.log('params:', JSON.parse(decodeURI(params)))
function getUrlParam(name, replacePlusSign) {
var reg = new RegExp(\"(^|&)\" + name + \"=([^&]*)(&|$)\", \"i\");
var r = window.location.search.substr(1).match(reg);
if (replacePlusSign === true && typeof r === \"string\") {
r = r.replace(/\\+/g, \"%20\");
}
if (r != null) {
return decodeURI(r[2]);
}
return null;
}
```

总结

webView 是移动应用开发不可或缺的一部分,它支持网页内部跳转,同时也支持外部跳转。还可以通过 webView 来加载本地前端代码,支持离线操作,对于部分不需要网络请求的场景下可以提供很好的用户体验。

赞(0)
以上所转载内容均来自于网络,不为其真实性负责,只为传播网络信息为目的,非商业用途,如有异议请及时联系btr2020@163.com,本人将予以删除。帮发锚文本外链网 » webview 网页外链,webview访问本地前端代码