ionic angular 与原生进行交互
ionic2 与原生进行交互
- 从ionic 向原生传递数据(通过拦截url)
if (this.disposalProofData) {// alert(this.disposalProofData)let dataStr = localStorage.getItem('disposalProofData');var iFrame;iFrame = document.createElement("iframe");iFrame.setAttribute("src", 'depreciationeditaccount:&' + dataStr);document.body.appendChild(iFrame);// 发起请求后这个 iFrame 就没用了,所以把它从 dom 上移除掉iFrame.parentNode.removeChild(iFrame);iFrame = null;return; }
原生拦截数据
mWebview.setWebViewClient(new WebViewClient() {@Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url) {if (url.split("&")[0].contains("depreciationeditaccount")) {// 新增资产凭证回显mTag = 1;goAccountVoucher(url, 1);}return true;} @Overridepublic void onPageFinished(WebView view, String url) {super.onPageFinished(view, url);String orgId = getIntent().getStringExtra("orgId");// 从原生往 h5缓存里面存东西mWebview.loadUrl("javascript:getUserInfo('" + token + "','" + orgId + "');");dismissProgressDialog();}@Overridepublic void onPageStarted(WebView view, String url, Bitmap favicon) {super.onPageStarted(view, url, favicon);showProgressDialog(getResources().getString(R.string.loading));} }ionic接收参数并保存
(在src下面的index 里面,代码入口index)
//接收数据,写入缓存
function getUserInfo(userToken, orgId) {writeLocalData('userToken', userToken);
writeLocalData('orgId', orgId);
}
原生往h5 传递数据
mWebview.loadUrl("javascript:getNewAssistProofData('" + jsonStr + "');") index.html
附送:
webview初始化:
mWebview.getSettings().setJavaScriptEnabled(true);// 设置可以支持缩放mWebview.getSettings().setSupportZoom(true);// 设置出现缩放工具mWebview.getSettings().setBuiltInZoomControls(true);// 扩大比例的缩放mWebview.getSettings().setUseWideViewPort(true);// 自适应屏幕mWebview.getSettings().setLayoutAlgorithm(LayoutAlgorithm.NARROW_COLUMNS);mWebview.getSettings().setLoadWithOverviewMode(true);mWebview.addJavascriptInterface(new WebInterface(), "aa");// WebView加载web资源mWebview.loadUrl(accUrl);// js 支持写入缓存mWebview.getSettings().setDomStorageEnabled(true);mWebview.getSettings().setAppCacheMaxSize(1024 * 1024 * 8);String appCachePath = getApplicationContext().getCacheDir().getAbsolutePath();mWebview.getSettings().setAppCachePath(appCachePath);mWebview.getSettings().setAllowFileAccess(true);mWebview.getSettings().setAppCacheEnabled(true);
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
