vue项目跳转到外部链接

时间:2022-09-01 12:52:31

vue项目中遇到一个打印的功能。思考之后决定点击按钮,跳转到一个HTML页面(后台写的),利用window.print()方法调用浏览器的打印的功能。

所以,现在的问题是,怎样跳转到外部链接。开发vue项目的人都知道,vue项目会分为三个版本:开发,测试,生产,我们可以在config文件夹下面的dev.env.js,prod.env.js,test.env.js配置路径。

所以我们就会遇到跨域的问题。

js:
let Path = process.env.APP_EXCEL_PATH+'print.html?name=1'
window.open(Path)
一开始利用地址栏传参的方式,就是直接在路径上添加参数,然后再HTML文件中获取地址参数渲染就行:
HTML中的js: <script>
window.onload=function(){ var n = getParam("name");
document.getElementById("name").innerHTML = n;
} function getParam(paramName) {
paramValue = "", isFound = !1;
if (this.location.search.indexOf("?") == 0 && this.location.search.indexOf("=") > 1) {
arrSource = unescape(this.location.search).substring(1, this.location.search.length).split("&"), i = 0;
while (i < arrSource.length && !isFound) arrSource[i].indexOf("=") > 0 && arrSource[i].split("=")[0].toLowerCase() == paramName.toLowerCase() && (paramValue = arrSource[i].split("=")[1], isFound = !0), i++
}
return paramValue == "" && (paramValue = null), paramValue
} </script> <script>
function printme(){
document.body.innerHTML=document.getElementById('container').innerHTML+'<br/>';
window.print();
} </script>
    之后遇到中文转码的问题,在地址栏传入中文会导致乱码问题,后来通过入参时利用encodeURI(encodeURI(name));编码,然后, HTML中利用decodeURI(getParam("name"));解码。解决问题。

 之后,由于入参比较多而且中文也很多,导致地址栏参数长度过长HTML不能全部解读。至此,这个问题无法突破。
后来想到H5的本地存储,可以在跳转的先给数据存储在本地,然后再HTML中在从本地中取出来。觉得可以实现,然后发现HTMl中的数据为null,原来并没有取到本地数据,发现本地存储也有同源策略的问题,也就是跨域的问题,发现我在本地开发环境时是localhost:8080,而我跳转的页面的域名是127.0.01:8080端口,他们各自都有localStorage。原来问题就是域名,然后我打包在本地的Tomcat运行,发现可以实现。至此,问题解决。

在vue项目的组件中:

js:

let Path = process.env.APP_EXCEL_PATH+'print.html'
window.open(Path)

vue项目跳转到外部链接的更多相关文章

  1. vue 路由跳转到外部链接

    尝试了几次发现,不论怎么写外部链接,最后跳转的路径都会加上localhost:3030; 这个应该是和vue的路由有关系,最后解决方法, window.location = 'http://www.b ...

  2. vue项目中跳转到外部链接方法

    当我们在文件中,如果是vue页面中的内部跳转,可以用this.$router.push()实现,但是如果我们还用这种方法跳到外部链接,就会报错,我们一看链接的路径,原来是我们的外部链接前面加上了htt ...

  3. vue&plus;el-menu设置了router之后如何跳转到外部链接

    <el-menu class="sidebar-el-menu" :default-active="onRoutes" :collapse="c ...

  4. vue 项目 跳转 页面 不刷新 问题

    vue项目中需要导出下载客户数据,因为数据太多,响应太慢.后台直接上传给七牛  然后返回一个下载链接  前端通过跳转链接 来下载 riskManagementApi.friendExprotAll(t ...

  5. vue项目中 如何让外部引入的js模块 的this值 指向vue实例

    当前是vue项目,想在tool.js(工具模块)中封装一个跳转页面的方法, goToUrl(name,query){ if(query){ if(query.addressCode){ vueObje ...

  6. 如何做到在webpack打包vue项目后,在外部动态修改配置文件

    在我们做完vue项目后,只需要执行 npm run dist 就可以轻松进行打包转测试,可是如果我们临时需要修改一些配置文件比如域名,这时候我们就有点懵逼了,那就修改了再重新打一次包? NO NO N ...

  7. vue跳转到外部链接

    <span @click="see('http://xxxx">点击跳转到xxx</span> 方法:(调用函数) See (e) { window.loc ...

  8. vue项目微信分享之后路由链接被破坏怎么办

    异常现象: 多页面应用,路由采用hash模式,链接带有"#". 在微信中分享到朋友圈或好友时,分享出去的路由被破坏,打开分享的链接,路由中的“#”会被去掉并追加?fromTimel ...

  9. 小程序web-view的使用&comma;跳转到外部链接~

    先说一下需求,要点击榜单,跳到我们的移动web的项目的榜单页,这个不是小程序的哦,就是网页版的. 榜单的html代码: <view class="nav" hover-cla ...

随机推荐

  1. Jmeter响应内容为文件

    最近测试一个接口是文档转换的接口,比如说把rtf文件转换为PDF,这样的接口调用通过结果树只能查看接口响应是否成功,但是看不到转换后的文档.通过Jmeter监听中的Save Responses to  ...

  2. Android音频系统之AudioFlinger&lpar;四&rpar;

    http://blog.csdn.net/xuesen_lin/article/details/8805096 1.1.1 AudioMixer 每一个MixerThread都有一个唯一对应的Audi ...

  3. 17、SQL基础整理(事务)

    事务 事务==流程控制 确保流程只能成功或者失败,若出现错误会自动回到原点 例: begin tran insert into student values('111','王五','男','1999- ...

  4. LeetCode-Implement strStr&lpar;&rpar;-KMP

    Implement strStr(). Returns the index of the first occurrence of needle in haystack, or -1 if needle ...

  5. NodeJS&colon;树的序列化

    本文也在我的博客edwardesire.com上,欢迎品尝. 接着上周的工作,我们把上周反序列得到的dtree对象输出到JSON,再将其序列化后存入MongoDB. 存入文档 先将上次得到的决策树对象 ...

  6. 实现一个div在浏览器水平居中

    第一种方法: div { margin: 0 auto; width: 960px; } 第二种方法(兼容IE): body { text-align: center; } div { margin: ...

  7. ios开发数据库版本迁移手动更新迭代和自动更新迭代艺术(二)

    由于大家都热衷于对ios开发数据库版本迁移手动更新迭代和自动更新迭代艺术(一)的浏览下面我分享下我的源文件git仓库: 用法(这边我是对缓存的一些操作不需要可以省去):https://github.c ...

  8. Java 的异常处理机制

    异常是日常开发中大家都「敬而远之」的一个东西,但实际上几乎每种高级程序设计语言都有自己的异常处理机制,因为无论你是多么厉害的程序员,都不可避免的出错,换句话说:你再牛逼,你也有写出 Bug 的时候. ...

  9. Android Java端的Socket&period;io-client

    先讲讲历史,这个方面最早的应该是nkzawa@github的项目:http://mvnrepository.com/artifact/com.github.nkzawa/socket.io-clien ...

  10. 转 Fira Code &vert; 为写程序而生的字体

    原文:Fira Code | 为写程序而生的字体 Fira Code | 为写程序而生的字体 己短不可藏 6月前 · 1199 人阅读 关注TA 程序员福利!!!今天为大家带来一个专为程序员写程序设计 ...