微信小程序webview跳转小程序内路由

微信小程序webview跳转小程序内路由,第1张

微信小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验。同时提供一系列工具帮助开发者快速接入并完成小程序开发。关于如何注册配置就不多言了,本文主要还是体验了下 web-view 的功能。

有了这个组件之后,小程序可以很好的嵌入一些页面,可以环境小程序 size 告急的问题,同样也使开发更加便捷,毕竟小程序开发者基本都对前端开发较为了解。

说再多还是需要去看官方文档, web-view文档 ,

首先就需要注意:兼容问题, 版本库和对应版本比例

目前而言,基本 80% 的用户会升级微信,所以其实不必担心版本问题,官方截止 2017-12-01 提供的数据也说明 88% 的用户支持 web-view 。

web-view 组件是一个可以用来承载网页的容器,会自动铺满整个小程序页面;

属性: src 是 String 类型,是一个网站的 url ,默认值是 none , webview 指向网页的链接。需登录小程序管理后台配置域名白名单。

可以配合 Page 实例的 onLoad 方法来获取 url 的具体值,也就是一个微信小程序页面中只有一个 web-view ,但是这个 web-view 的内容可以根据上一个页面传递的参数来获取页面 URL ,后面会讲如何实践,

官方提供如下接口:

1 由小程序到 web-view ,其实本质上 WEB-VIEW 也是小程序的一个页面,所以小程序到 web-view 是正常的小程序间的通信,通过 wxnavigateTo 、 wxredirectTo ,带上 url 参数, query 参数就像正常 url 的参数一样跟着后面,然后在 web-view 的页面的 Page 实例里面通过 onLoad 的方法的参数来获取 url 的值,设置给 web-view 的 src 属性为改值即可。

2 由 web-view 到小程序,由于在 web-view 的跳转通常是在 src 对应的网页中的 *** 作来处理的,所以需要结合 jssdk 来处理,不需要 wxconfig 配置,直接通过 script 标签来引入 [>

JS调用java代码效果图

java代码调用javasrcipt代码效果图

indexhtml代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 401//EN" ">

<xml version="10" encoding="utf-8"><LinearLayout xmlns:android=">

public class MainActivity extends AppCompatActivity {private WebView mWebView;    @Override    protected void onCreate(Bundle savedInstanceState) {        superonCreate(savedInstanceState);        setContentView(Rlayoutactivity_main);         mWebView = (WebView) findViewById(Ridtest_webview);        //设置WebView支持JavaScript        mWebViewgetSettings()setJavaScriptEnabled(true);        mWebViewloadUrl("file:///android_asset/indexhtml");        mWebViewaddJavascriptInterface(new JsInterface(this), "AndroidWebView");        //添加客户端支持        mWebViewsetWebChromeClient(new WebChromeClient());        findViewById(Ridtest_btn)setOnClickListener(new ViewOnClickListener() {            @Override            public void onClick(View v) {

sendInfoToJs();            }

});    }    private class JsInterface {        private Context mContext;        public JsInterface(Context context) {            thismContext = context;        }        //在js中调用windowAndroidWebViewshowInfoFromJs(name),便会触发此方法。        @JavascriptInterface        public void showInfoFromJs(String share) {

ToastmakeText(mContext, share, ToastLENGTH_SHORT)show();        }

}    //在java中调用js代码    public void sendInfoToJs() {

String msg = ((EditText)findViewById(Ridtest_edt))getText()toString();        //调用js中的函数:showInfoFromJava(msg)        mWebViewloadUrl("javascript:showInfoFromJava('" + msg + "')");    }

总结下,java代码中要设置webview对javascript的支持,addJavascriptInterface(new JsInterface(this), "AndroidWebView");//这句代码中的第二个参数是在js访问方法的地址。

windowAndroidWebViewshowInfoFromJs(share);

webview 获取 网页的title

WebView mWebView = (WebView) findViewById(Ridmwebview);

mWebViewsetWebViewClient(new WebViewClient() {

@Override

public void onPageFinished(WebView view, String url) {

ExperimentingActivitythissetTitle(viewgetTitle());

}

});

getTitle

public String getTitle()

Get the title for the current page This is the title of the current page until WebViewClientonReceivedTitle is called

返回:

The title for the current page

下面这篇文章总结的比较全 ,但是 onReceivedTitle()方法在goback()之后无效。

如有转载,请声明出处: 时之沙: >

最核心的一个概念 :

小程序 的webview(H5页面)中调用jssdk中的功能(比如获取位置信息),需要有一个和小程序申请主体一致的 公众账号,在公众号里去配置相关的jssdk信息

1 小程序账号

因为webview不支持个人类型,所以需要申请一个企业法人及个体工商户类型的小程序账号

2   公众号账号

要求小程序和公众号的账号对应的主体信息必须一致,有两种途径达到此目的:

先申请公众号账号,然后通过公众号的快速生成小程序功能,生成步骤1的小程序账号,这样这两个自然满足同主体资格

登录微信公众号平台,点击小程序管理-添加-快速注册并认证小程序:

用和申请小程序账号完全一致的主体信息去申请公众号(主体类型,主体名称,主体证件号),也能保证两个账号的主体资格一致(目前没有小程序快速生成公众号账号的功能)

3 域名绑定

这里需要两个账号都配置一下:

业务域名

首先webview指向一个外部网页链接(我们的H5页面)

<web-view src=">

以上就是关于微信小程序webview跳转小程序内路由全部的内容,包括:微信小程序webview跳转小程序内路由、Android 在WebView中通过javascript获取网页源码,并在TextView或者在EditText中显示问题、webview中有没有办法获取到网页源代码,加载AJAX后的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9751266.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存