当前位置: 首页 > wzjs >正文

网站开发与设计岗位不受限制的搜索浏览器

网站开发与设计岗位,不受限制的搜索浏览器,做网站推广的工资,利用CSS修改Wordpress相信大家尝试了很多方法都无法通信,现在我说一下我的开发经历和解决过程,包成功哈! 1:首先去webview熟读一下--发现webview用的是html,自己写的却是vue文件,我该如何书写呢? 2:翻到…

相信大家尝试了很多方法都无法通信,现在我说一下我的开发经历和解决过程,包成功哈!

1:首先去webview熟读一下--发现webview用的是html,自己写的却是vue文件,我该如何书写呢?

2:翻到一篇文章说是下载这个uni.webview.1.5.6.js玩意后引入,然后去调用里面的postMessage方法--发现报错不认识这个玩意里面的方法!

解决

1.首先uni.webview.1.5.6.js我不使用他的,你们去复制以下代码放入一个js文件代替它【比如uni.webview.111.js

!(function(global, factory) {'object' == typeof exports && 'undefined' != typeof module? (module.exports = factory()): 'function' == typeof define && define.amd? define(factory): ((global = global || self).hx = factory());
})(this, function() {'use strict';try {var passiveEventsSupport = {};Object.defineProperty(passiveEventsSupport, 'passive', {get: function() {return true;},}),window.addEventListener('test-passive', null, passiveEventsSupport);} catch (error) {}var hasOwnProperty = Object.prototype.hasOwnProperty;function hasProperty(object, property) {return hasOwnProperty.call(object, property);}var webviewIds = [];function getWeexPostMessage() {return window.__dcloud_weex_postMessage || window.__dcloud_weex_;}function getUniAppPostMessage() {return window.__uniapp_x_postMessage || window.__uniapp_x_;}var invokeAppService = function(action, payload) {var requestData = {options: {timestamp: +new Date(),},name: action,arg: payload,};if (getUniAppPostMessage()) {console.log('uniAppPostMessage');if ('postMessage' === action) {var messageData = {data: payload,};return getUniAppPostMessage()? getUniAppPostMessage()(messageData): window.__uniapp_x_.postMessage(JSON.stringify(messageData));}var serviceRequest = {type: 'WEB_INVOKE_APPSERVICE',args: {data: requestData,webviewIds: webviewIds,},};getUniAppPostMessage()? getUniAppPostMessage(): window.__uniapp_x_.postMessageToService(JSON.stringify(serviceRequest));} else if (getWeexPostMessage()) {console.log('weexPost');if ('postMessage' === action) {var messageDataForWeex = {data: [payload],};return getWeexPostMessage()? getWeexPostMessage()(messageDataForWeex): window.__dcloud_weex_.postMessage(JSON.stringify(messageDataForWeex));}var weexServiceRequest = {type: 'WEB_INVOKE_APPSERVICE',args: {data: requestData,webviewIds: webviewIds,},};getWeexPostMessage()? getWeexPostMessage()(weexServiceRequest): window.__dcloud_weex_.postMessageToService(JSON.stringify(weexServiceRequest));} else {if (!window.plus) {console.log('window.parent.postMessage');return window.parent.postMessage({type: 'WEB_INVOKE_APPSERVICE',data: requestData,pageId: '',},'*',);}if (webviewIds.length === 0) {var currentWebview = plus.webview.currentWebview();if (!currentWebview) throw new Error('plus.webview.currentWebview() is undefined');var parentWebview = currentWebview.parent();var webviewId = '';webviewId = parentWebview ? parentWebview.id : currentWebview.id;webviewIds.push(webviewId);}if (plus.webview.getWebviewById('__uniapp__service')) {console.log('postMessageToUniNView');plus.webview.postMessageToUniNView({type: 'WEB_INVOKE_APPSERVICE',args: {data: requestData,webviewIds: webviewIds,},},'__uniapp__service',);} else {console.log('localEvalJSMessage');var jsonRequestData = JSON.stringify(requestData);plus.webview.getLaunchWebview().evalJS('UniPlusBridge.subscribeHandler("WEB_INVOKE_APPSERVICE",' +jsonRequestData +',' +JSON.stringify(webviewIds) +');',);}}};var router = {navigateTo: function(options) {var params = options || {};var url = params.url;invokeAppService('navigateTo', {url: encodeURI(url),});},navigateBack: function(options) {var params = options || {};var delta = params.delta;invokeAppService('navigateBack', {delta: parseInt(delta) || 1,});},switchTab: function(options) {var params = options || {};var url = params.url;invokeAppService('switchTab', {url: encodeURI(url),});},reLaunch: function(options) {var params = options || {};var url = params.url;invokeAppService('reLaunch', {url: encodeURI(url),});},redirectTo: function(options) {var params = options || {};var url = params.url;invokeAppService('redirectTo', {url: encodeURI(url),});},getEnv: function(callback) {if (getUniAppPostMessage()) {callback({uvue: true,});} else if (getWeexPostMessage()) {callback({nvue: true,});} else if (window.plus) {callback({plus: true,});} else {callback({h5: true,});}},postMessage: function(options) {var params = options || {};invokeAppService('postMessage', params.data || {});},login: function(data) {data = data || {};data.action = 'login';invokeAppService('postMessage', data || {});},};var isUniApp = /uni-app/i.test(navigator.userAgent);var isHtml5Plus = /Html5Plus/i.test(navigator.userAgent);var isReadyStateComplete = /complete|loaded|interactive/;var isMyApp =window.my &&navigator.userAgent.indexOf(['t', 'n', 'e', 'i', 'l', 'C', 'y', 'a', 'p', 'i', 'l', 'A'].reverse().join('')) >-1;var isSwanApp = window.swan && window.swan.webView && /swan/i.test(navigator.userAgent);var isQQMiniProgram =window.qq &&window.qq.miniProgram &&/QQ/i.test(navigator.userAgent) &&/miniProgram/i.test(navigator.userAgent);var isToutiaoMiniProgram = window.tt && window.tt.miniProgram && /toutiaomicroapp/i.test(navigator.userAgent);var isWeChatMiniProgram =window.wx &&window.wx.miniProgram &&/micromessenger/i.test(navigator.userAgent) &&/miniProgram/i.test(navigator.userAgent);var isQuickApp = window.qa && /quickapp/i.test(navigator.userAgent);var isKuaishouMiniProgram =window.ks &&window.ks.miniProgram &&/micromessenger/i.test(navigator.userAgent) &&/miniProgram/i.test(navigator.userAgent);var isFeishuMiniProgram = window.tt && window.tt.miniProgram && /Lark|Feishu/i.test(navigator.userAgent);var isJDminiProgram = window.jd && window.jd.miniProgram && /jdmp/i.test(navigator.userAgent);var isXhsMiniProgram = window.xhs && window.xhs.miniProgram && /xhsminiapp/i.test(navigator.userAgent);for (var handler,initHandler = function() {window.UniAppJSBridge = true;document.dispatchEvent(new CustomEvent('UniAppJSBridgeReady', {bubbles: true,cancelable: true,}),);},eventHandlers = [function(callback) {if (isUniApp || isHtml5Plus)return (getUniAppPostMessage() || getWeexPostMessage()? document.addEventListener('DOMContentLoaded', callback): window.plus && isReadyStateComplete.test(document.readyState)? setTimeout(callback, 0): document.addEventListener('plusready', callback),router);},function(callback) {if (isWeChatMiniProgram)return (window.WeixinJSBridge && window.WeixinJSBridge.invoke? setTimeout(callback, 0): document.addEventListener('WeixinJSBridgeReady', callback),window.wx.miniProgram);},function(callback) {if (isQQMiniProgram)return (window.QQJSBridge && window.QQJSBridge.invoke? setTimeout(callback, 0): document.addEventListener('QQJSBridgeReady', callback),window.qq.miniProgram);},function(callback) {if (isMyApp) {document.addEventListener('DOMContentLoaded', callback);var myApp = window.my;return {navigateTo: myApp.navigateTo,navigateBack: myApp.navigateBack,switchTab: myApp.switchTab,reLaunch: myApp.reLaunch,redirectTo: myApp.redirectTo,postMessage: myApp.postMessage,getEnv: myApp.getEnv,};}},function(callback) {if (isSwanApp) return document.addEventListener('DOMContentLoaded', callback), window.swan.webView;},function(callback) {if (isToutiaoMiniProgram)return document.addEventListener('DOMContentLoaded', callback), window.tt.miniProgram;},function(callback) {if (isQuickApp) {window.QaJSBridge && window.QaJSBridge.invoke? setTimeout(callback, 0): document.addEventListener('QaJSBridgeReady', callback);var qaApp = window.qa;return {navigateTo: qaApp.navigateTo,navigateBack: qaApp.navigateBack,switchTab: qaApp.switchTab,reLaunch: qaApp.reLaunch,redirectTo: qaApp.redirectTo,postMessage: qaApp.postMessage,getEnv: qaApp.getEnv,};}},function(callback) {if (isKuaishouMiniProgram)return (window.WeixinJSBridge && window.WeixinJSBridge.invoke? setTimeout(callback, 0): document.addEventListener('WeixinJSBridgeReady', callback),window.ks.miniProgram);},function(callback) {if (isFeishuMiniProgram)return document.addEventListener('DOMContentLoaded', callback), window.tt.miniProgram;},function(callback) {if (isJDminiProgram)return (window.JDJSBridgeReady && window.JDJSBridgeReady.invoke? setTimeout(callback, 0): document.addEventListener('JDJSBridgeReady', callback),window.jd.miniProgram);},function(callback) {if (isXhsMiniProgram) return window.xhs.miniProgram;},function(callback) {return document.addEventListener('DOMContentLoaded', callback), router;},],i = 0;i < eventHandlers.length && !(handler = eventHandlers[i](initHandler));i++);handler || (handler = {});var hxAPI = 'undefined' != typeof hx ? hx : {};if (!hxAPI.navigateTo) for (var key in handler) hasProperty(handler, key) && (hxAPI[key] = handler[key]);return (hxAPI.webView = handler), hxAPI;
});

js文件

2.其次你写了个网页【.vue文件】,在该网页页面中引入该uni.webview.111.js

【import uniWeb from '@/uni.webview.111.js'】

3.将你需要传给app的数据写进去,一定是data里面放入你想传的数据!!

fn()
{
let commentData={title:'你好'}
uniWeb.postMessage({data: {xxx: 'xxx',xxx: 'xxx',commentData,},});
//总之格式是这样子
uniWeb.postMessage({data: {xxx},});
}

网页代码

4.app代码写法如下

首先是肯定考虑头部导航栏,你得设top距离给网页【也就是webviewStyles】,其次网页传过来的数据是靠webview标签中的 @onPostMessage="handleMessage"得到的【也就是数据监听】

app代码

其次获取到当前网页实例

app代码

然后在事件监听的函数接收网页传来的数据

app代码

最后app想传数据给网页的话,写法如下【getAPPMsg就是传过去的函数】

app代码

然后网页去监听这个函数就可以拿到e,也就是app给网页的数据

网页代码

http://www.dtcms.com/wzjs/460991.html

相关文章:

  • 三个律师做网站合适吗推广seo网站
  • 邵阳红网站青岛网站seo推广
  • 北京建设高端网站的网络营销的六大功能
  • 可做产品预售的网站哪个好用?
  • 网站上qq未启用优化外包哪里好
  • 网站开发方案目录有什么功能
  • 四川省住房和城乡建设厅官网查证网站优化公司开始上班了
  • 新品发布会的作用北京百度快速优化排名
  • 淘宝做的网站会不会过期如何做一个自己的网页
  • 常州网站建设专业的公司优化网站的软件下载
  • 南阳做网站优化百度推广哪种效果好
  • 商业中心 网站建设软文网站
  • 沈阳哪家网站做的好淘宝流量助手平台
  • 台州做网站app的公司国内永久免费云服务器
  • 网站建设电话销售模版搜索引擎优化自然排名
  • 深圳正规网站建设深圳网络营销渠道
  • 做电影网站大概要多少钱成长电影在线观看免费
  • 跨境网站入口已备案域名购买平台
  • 网站可以做动画轮播吗web成品网站源码免费
  • 网站建设基本要素环球资源网站网址
  • 乌兰察布市建设局网站百度免费安装
  • wordpress注册页模板长沙网站seo服务
  • 网站怎么做让PC和手机自动识别杭州百度快照优化公司
  • 福建国通星驿网络科技有限公司网站优化入门免费教程
  • 望京 网站建设关键词排名软件官网
  • 南宁 网站建设 制作新网域名注册官网
  • 做网站用什么服务器网站seo服务
  • 深圳营销型网站建设-龙华信科营销的四种方式
  • 中国空间站距离地面多少公里seo优化是什么意思
  • 深圳商城网站设计多少钱seo搜索铺文章