背景最近在用Electron开发一款应用,其中有涉及到检测因特网是否断开的需求。Electron基于Chromium和Node.js,让你可以使用HTML、CSS和JavaScript构建应用。所以Electron提供nodejs、浏览器两套运行环境。笔者最先考虑到的方案HTML5提供的online/offline网络连接事件。window.addEventListener(online, ...) window.addEventListener(offline, ...)结论很失望,这两个网络连接事件,只是检测本地网络连接状态。既然浏览器没有提供检...
实际上关键词叫 微信pushState只能分享落地页 更贴切一点 应用场景: vue + vue-routervue-router使用hash模式(history模式没试过)不使用微信的js-sdk(因为我这个项目是可配置域名的商城,比较特殊,不能使用微信sdk)这个方案并不是最优秀的,会对性能造成一定的影响HTML5 history.pushStatevue-router的内部是通过 history.pushState 和 history.replaceState 实现的。但是iOS设备的微信浏览器不会去检测它们的变化。但是我们...
此方案只能用于开发环境,线上最好设置同源策略(遇到个后端,装你妈批) 前后端不在同一服务器的情况下,前端要访问后端API,可通过在vue.config.js中配置代理服务器。 0:前提条件 1:安装vue-lic 2:安装axios 用于发送请求。 1:将任何未知请求转发到代理服务器 如: 前端地址:127.0.0.1 后端地址:127.0.0.2 当访问地址为 127.0.0.1/api,没有匹配到这地址,那么就会被转发到代理服务器127.0.0.2/api module.exports={devSer...
已经获取微信公众号发布的图片,但不能正常显示 ,提示:此图片来自微信公众平台 未经允许不得引用。 这是怎么回事呢? 遇到这种问题是因为微信公众平台对图片采用了防盗链设置,微信对外提供了API接口,让我们可以通过授权的方式获取到自己公众号里面的文章,或者你也可以通过爬虫去抓取微信的文章,但是微信的图片默认是不允许外部调用的那该怎么解决这种问题呢? 这里我找到了两种方案 第一种在JS中提前把图片加载到本地,然后...
<IfModule mod_rewrite.c>RewriteEngine OnRewriteBase /RewriteRule ^index\.html$ - [L]RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule . /index.html [L] </IfModule>nginx配置 location / {try_files $uri $uri/ /index.html; }vue history模式下nginx配置 服务端nginx的一开始配置如下(假设域名为:xx.xxx.com): [***** ~]# cat /Data/app/nginx/conf/vhosts/xx.xxx.com.conf server...
wxShare 说明文档单页面路由工程使用微信分享及二次分享解决方案很多人在单页面工程中使用weixin jsSDK时 ,第一次调用正常, 路由切换时发现调用分享配置报错, 此时忽略了一点 ,在单页面路由的 url 发生变化时, 需要重现调用微信jsSDK分享配置;wxShare除适用于 Vue 单页工程外, 也可以使用与其他单页工程例如 React,本示例主要展示如何在 Vue中使用; 微信 jssdk调用基本原理 1. (初始化页面,划重点)掉用 api 获取当前页面 url 授权的...
原始 build/untils.js原因:至于为什么背景图有的打包后存在,有的丢失,那是因为vue会把图片转成base64,但是图片大小超过阈值就不转了,直接引,而背景图片里用的是相对路径最后会直接替换成static,但是明显路径会有问题,所以得配置下。 修改 需要在上面红框中添加下面语句: // 背景图片丢失:写改css中的路径(添加) publicPath: ../../ 然后重新npm run dev即可 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家...
前言最近需要做一个浏览器的, 支持大体积文件上传且要支持断点续传的上传组件, 本来以为很容易的事情, 结果碰到了一个有意思的问题:循环执行连续的异步任务, 且后一个任务需要等待前一个任务的执行状态这么说可能有点空泛, 以我做的组件举例:这个组件本意是为了上传大体积视频, 和支持断点续传, 因为动辄几个G的视频不可能直接把文件读进内存, 只能分片发送(考虑到实际网络状态, 每次发送大小定在了4MB), 而且这么做也符合断点续传...
写在前面Vue-Router 有两种模式,默认是 hash 模式,另外一种是 history 模式。 hash:也就是地址栏里的 # 符号。比如 http://www.example/#/hello,hash 的值为 #/hello。特点:hash 虽然出现 URL 中,但不会被包含在 HTTP 请求中,对后端不会产生什么影响,改变 URL 不会重载页面。history:利用了 HTML5 History Interface 中新增的 pushState() 和 replaceState() 方法,来完成 URL 跳转而无须重新加载页面。(需要特定浏览器支...
最近在开发一个服务端渲染工具,通过一篇小文大致介绍下服务端渲染,和服务端渲染的方式方法。在此文后面有两中服务端渲染方式的构思,根据你对服务端渲染的利弊权衡,你会选择哪一种服务端渲染方式呢? 什么是服务器端渲染 使用 React 构建客户端应用程序,默认情况下,可以在浏览器中输出 React 组件,进行生成 DOM 和操作 DOM。React 也可以在服务端通过 Node.js 转换成 HTML,直接在浏览器端“呈现”处理好的 HTML 字符串,这个...
前言之前写过一个关于微信授权登陆的文章传送门最近在做小程序的项目,依旧是商城,又开始研究微信的登陆授权坑,第一次接触小程序,授权登陆也是一塌糊涂以后再慢慢的改进 场景 微信用户可以通过搜索进入小程序也可以通过别人分享进入小程序进入小程序之后需要用户授权拿到用户信息进行注册代码实现初始化页面home页用户第一次进入小程序必须授权后台注册并登陆app.json { "pages": ["pages/home/index", "pages/login/index",......
网上流行的解决方案是将assetsPublicPath: /改成./,下面说一下这个解决方案的弊端: 通常页面空白的问题出现大多数是由于Spring Boot端配置了server.servlet.context-path,上下文改变了css, js等文件的访问路径,文件无法加载导致index.html显示空白。/改成./是将绝对路径变为相对路径,可以动态适应Spring Boot端上下文的改变,这是为什么这个解决方案起作用的原因。 Vue项目部署在Spring Boot出现的另一个常见问题是当刷新浏览...
小程序做开发的时候难免需要不同页面之间的通讯,比如首页打开新的页面搜索获取结果返回到首页,不同tab页面之间的数据交互等等。于是做了以下总结 当前页面打开新的页面打开新的页面可以通过 navigator 组件来实现,通过url传参来实现,例如 <navigator url="../search/search?id=123" open-type="redirect">搜索</navigator>在新的页面 onLoad 事件可以拿到传过来的参数 options onLoad: function(options) {console.log(options...
背景手机型号:型号:iphone 7 / iphone xs max 版本:ios 10.3.1 / ios 12.1 微信版本:WeChat 6.7.3问题还原:Vue应用(vue-router)上使用history模式,在某个页面内调用微信JSSDK相关API,如扫码、分享等,使用当前页面URL总会出现签名错误(invalid signature),导致API调用失败。问题根源Vue-Router进行路由切换的时候,总是会操作浏览器的历史记录,从而响应页面URL变化。 在JSSDK文档页面有这么一句话:同一个url仅需调用一次,...
前言:最近用vue-cli 3.0 构建一个小型的工单管理系统,完工后build发现一个chunk-vendors包就达到985kb,加上其他一些资源文件,首页的下载总共大小快要2M。测试给的第一个反馈就是首屏慢慢慢慢慢! 根据首屏加载资源文件过大,进行一下优化: 1. 路由懒加载结合Vue的异步组件再结合webpack的代码分割,我们可以轻松的实现路由懒加载。 vue-cli 3.0 模式就使用了Babel,我们需要添加 syntax-dynamic-import 插件,才能使 Babel 可...