VUE项目嵌入微信公众号文章URL

因项目需求需要引入微信公众号的文章页面,使用iframe标签引入会导致微信公众号的css和js引用发送跨域报错

解决思路

1:在后端直接请求微信公众号的文章URL,执行css和js后的HTML返回到前端

2:前端直接v-html显示到页面上即可

后端代码

引入包:

net.sourceforge.htmlunit

htmlunit

2.45.0

Java代码:

@GetMapping("news")

public String mpWeiXin(){

//微信文章的URL地址

String newsUrl = "";

WebClient webClient = new WebClient(BrowserVersion.CHROME);//新建一个模拟谷歌Chrome浏览器的浏览器客户端对象

webClient.getOptions().setThrowExceptionOnScriptError(false);//当JS执行出错的时候是否抛出异常, 这里选择不需要

webClient.getOptions().setThrowExceptionOnFailingStatusCode(false);//当HTTP的状态非200时是否抛出异常, 这里选择不需要

webClient.getOptions().setActiveXNative(false);

webClient.getOptions().setCssEnabled(true);//是否启用CSS, 因为需要展现页面, 所以需要启用

webClient.getOptions().setJavaScriptEnabled(true); //很重要,启用JS

webClient.setAjaxController(new NicelyResynchronizingAjaxController());//很重要,设置支持AJAX

HtmlPage page = null;

try {

page = webClient.getPage(newsUrl);//加载网页

} catch (Exception e) {

e.printStackTrace();

}finally {

webClient.close();

}

webClient.waitForBackgroundJavaScript(30000);//异步JS执行需要耗时,所以这里线程要阻塞30秒,等待异步JS执行结束

String pageXml = page.asXml();//直接将加载完成的页面转换成xml格式的字符串

pageXml = pageXml.replaceAll("\"/mp","\"http://mp.weixin.qq.com/mp");//给微信页面内相对路径的请求设置域名

return pageXml;

}

VUE前端代码:

教程到这里就结束了,如果在使用中微信页面中的图片直接变成

便在index.html中增加一段head,记得清理缓存。

微信公众号嵌套html,VUE项目嵌入微信公众号文章URL相关推荐

  1. php微信公众号支付vue,vue项目使用微信公众号支付总结及遇到的坑

    微信公众号支付 1. 使用jssdk调用微信支付,具体查看开发文档: 使用的vuex,在mutations中 wechatPay (state, data) { state.payObject = d ...

  2. vue项目做微信分享功能

    vue项目做微信分享功能 安装sdk npm install weixin-js-sdk --save 方法 1.新建js文件wxapi.js 2.在wxapi.js中引入sdk以及配置一些基本信息( ...

  3. VUE项目引入微信JSSDK 实现微信自定义分享

    VUE项目引入微信JSSDK 实现自定义分享 前端vue.后端php 问题:后端获取config参数所需的url 需要和请求自定义分享页面url一致 一.微信公众号后台添加 js安全域名(白名单) 二 ...

  4. 微信/企业微信-本地(MAC)VUE项目调用JS-SDK,开发测试环境搭建

    调用微信SDK前置条件 根据官方文档,前端在使用微信的接口前要先进行配置,配置信息得从后端获取,后端在计算signature时需要前端传入当前页面的URL,开发者要在公众平台设置JS SDK安全域名, ...

  5. UNI-APP/VUE 项目集成 微信SDK /微信开放标签 教程和避坑指南(下)——微信开放标签篇

    UNI-APP/VUE 项目集成 微信开放标签 教程和避坑指南 文章同步发布于

  6. UNI-APP/VUE 项目集成 微信SDK /微信开放标签 教程和避坑指南

    UNI-APP/VUE 项目集成微信SDK教程和避坑指南 文章同步发布于

  7. vue项目引入微信sdk报错记录

    前言 vue项目引入微信sdk $ npm install weixin-js-sdk --save 运行报错如下: npm install weixin-js-sdk --save下载失败显示未配置 ...

  8. Vue项目对接微信公众号踩坑日记

    之前做项目都是pc端的,还是第一次做移动端项目,而且上来就要接入app 和微信公众号两个平台,最终查阅多方文档,耗费几周时间还是完成了项目,这篇文章也算是记录一下自己的完成思路以及一些想法,希望能帮到 ...

  9. 微信公众号菜单html5,Vue.js 实现微信公众号菜单编辑器功能(一)

    学习一段时间Vue.js,于是想尝试着做一个像微信平台里那样的菜单编辑器,在这里分享下 具体样式代码查看项目github 创建一个vue实例 var app = new Vue({ el: '#app ...

  10. 微信PC版访问本地vue项目页面调试及访问空白问题

    1.安装微信旧版本2.6 链接:https://pan.baidu.com/s/15no5HCjxydYBa4YB_nvo1g  提取码:pntg 2. 微信引入devtool包 第 1 步:查看微信 ...

最新文章

  1. Kaldi内存泄漏问题排查
  2. java 网络编程 方式_JAVA网络编程
  3. php跳过一段html,PHP_一段能瞬间秒杀所有版本IE的简单HTML代码,许多人都非常讨厌Internet Explore - phpStudy...
  4. 第六章 副词(Les adverbes )
  5. 【Tensorflow】【损失函数】交叉熵数据验证(上)---CategoricalCrossentropy多分类
  6. 编译OpenJDK8:[HotspotWrapper.gmk:45:/cygdrive/e/hub/openjdk/jdk8u/build/windows-x86_64-normal-server-
  7. 北大17秋c语言作业,17春北大 03081002-计算机编程语言 作业答案
  8. ISP模块之RAW DATA去噪(二)--BM3D算法
  9. 【建议收藏】六个免费的在线OCR识别网站,显著提高你的工作效率!
  10. mysql删除通用日志_删除MySQL log bin 日志操作记录
  11. 用c语言求解一元二次方程(共轭根除外)
  12. GWAS计算BLUE值3--LMM考虑残差异质计算BLUE值
  13. Latex排版技巧汇总
  14. Java Email
  15. 【冰糖R语言】Shiny简单笔记
  16. 浩辰CAD看图王手机版中添加的图片批注在电脑端如何查看?
  17. 最大似然估计(MLE)与最小二乘估计(LSE)的区别
  18. js编程常见错误:Uncaught TypeError: XXX is not a function解决
  19. MySQL多行数据合并(单例显示多个值)之GROUP_CONCAT()函数(字符串连接函数)
  20. 项目时间管理有哪些过程?

热门文章

  1. java中级程序员_java中级程序员路线图(黑马)
  2. java中级程序员面试题_51CTO下载-JAVA中级程序员面试题
  3. 反正切函数摘录自变频器
  4. 漫威超级争霸战辅助脚本,快速刷星币打竞技场副本
  5. 什么是资产证券化 - 以及资产支持证券在实际中的应用
  6. Laravel模型中的fillable和guarded属性
  7. 分区表中GLO字段对信息收集的影响
  8. Choco包管理工具安装
  9. 什么是路由器 路由器和路由器之间怎么连接
  10. css/js解决 页面多次点击时出现部分蓝色