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

家具网站建设目的及功能定位做公司网页

家具网站建设目的及功能定位,做公司网页,网页布局分析,坑梓网站建设咨询推荐使用方法二 方法一:通过npm 安装插件 1,安装 npm install vue-print-nb --save 2,引入 安装好以后在main.js文件中引入 import Print from vue-print-nbVue.use(Print); //注册 3,现在就可以使用了 div id"printTest…

推荐使用方法二

方法一:通过npm 安装插件

1,安装 npm install vue-print-nb --save
2,引入 安装好以后在main.js文件中引入

     import Print from 'vue-print-nb'

Vue.use(Print); //注册

3,现在就可以使用了

div id="printTest" ><p>明月照于山间</p><p>清风来于江上 </p></div><button v-print="'#printTest'">打印</button>     

4.如需通过链接地址打印:window.location.href = airway_bill; airway_bill为链接地址。

5.如果内容打印不全,在打印操作时点击更多设置,然后设置缩放。

方法一使用时可能会遇到内容只有一页,但是点击打印会打印2张的情况。解决办法:查看定义的元素高度是否有被设置为100%,或html高度被设置成100%,如果有去掉即可。

方法二:手动下载插件到本地

插件地址:https://github.com/xyl66/vuePlugs_printjs
1.在src下新建文件夹plugs,将下载好的print.js放入plugs文件夹下
2.在main.js中引入
print.js 里的代码

//print.js 里的代码
// 打印类属性、方法定义
/* eslint-disable */
const Print =function(dom, options) {if (!(this instanceof Print)) return new Print(dom, options);this.options = this.extend({'noPrint': '.no-print'}, options);if ((typeof dom) === "string") {this.dom = document.querySelector(dom);} else {this.dom = dom;}this.init();};Print.prototype = {init: function () {var content = this.getStyle() + this.getHtml();this.writeIframe(content);},extend: function (obj, obj2) {for (var k in obj2) {obj[k] = obj2[k];}return obj;},getStyle: function () {var str = "",styles = document.querySelectorAll('style,link');for (var i = 0; i < styles.length; i++) {str += styles[i].outerHTML;}str += "<style>" + (this.options.noPrint ? this.options.noPrint : '.no-print') + "{display:none;}</style>";return str;},getHtml: function () {var inputs = document.querySelectorAll('input');var textareas = document.querySelectorAll('textarea');var selects = document.querySelectorAll('select');for (var k in inputs) {if (inputs[k].type == "checkbox" || inputs[k].type == "radio") {if (inputs[k].checked == true) {inputs[k].setAttribute('checked', "checked")} else {inputs[k].removeAttribute('checked')}} else if (inputs[k].type == "text") {inputs[k].setAttribute('value', inputs[k].value)}}for (var k2 in textareas) {if (textareas[k2].type == 'textarea') {textareas[k2].innerHTML = textareas[k2].value}}for (var k3 in selects) {if (selects[k3].type == 'select-one') {var child = selects[k3].children;for (var i in child) {if (child[i].tagName == 'OPTION') {if (child[i].selected == true) {child[i].setAttribute('selected', "selected")} else {child[i].removeAttribute('selected')}}}}}return this.dom.outerHTML;},writeIframe: function (content) {var w, doc, iframe = document.createElement('iframe'),f = document.body.appendChild(iframe);iframe.id = "myIframe";iframe.style = "position:absolute;width:0;height:0;top:-10px;left:-10px;";w = f.contentWindow || f.contentDocument;doc = f.contentDocument || f.contentWindow.document;doc.open();doc.write(content);doc.close();this.toPrint(w);setTimeout(function () {document.body.removeChild(iframe)}, 100)},toPrint: function (frameWindow) {try {setTimeout(function () {frameWindow.focus();try {if (!frameWindow.document.execCommand('print', false, null)) {frameWindow.print();}} catch (e) {frameWindow.print();}frameWindow.close();}, 10);} catch (err) {console.log('err', err);}}};const MyPlugin = {}MyPlugin.install = function (Vue, options) {Vue.prototype.$print = Print}export default MyPlugin

main.js里引入

import Print from './plugs/print'
Vue.use(Print)

使用

<template><div><!-- 点击按钮打印 --><el-button type="primary" @click="printDemo">点击打印</el-button><!--  <div ref="print"><h1>这里是打印内容</h1></div>--><img class="printsrcclass" ref='print' :src="printsrc"/></div>    
</template>
<script>export default {data(){return {}},methods: {// 点击打印printDemo(){setTimeout(() => {this.$print(this.$refs.print)}, 100);}},mounted() {}
}

4.注意事项 需使用ref获取dom节点,若直接通过id或class获取则webpack打包部署后打印内容为空
5.指定不打印区域

方法1. 添加no-print样式类

不要打印我
方法2. 自定义类名

不要打印我
this.print(this.print(this.print(this.refs.print,{‘no-print’:‘.do-not-print-me-xxx’}) // 使用

如果图片出不来 打印出不来 等情况

参考下面代码

const res2 = await fnApi(orderId);let myBlob = new Blob([res2.data], { type: 'image/jpeg'});var href = URL.createObjectURL(myBlob); // 创建对象超链接// 此时拿到图片地址 href,后面直接使用该地址即可let img = new Image();img.src = href;img.onload = () => {this.printsrc = href;this.$nextTick(() => {this.mypirntFN();})}

接口别忘了加类型
在这里插入图片描述

Ps:

  1. 还有其它问题可以刘艳我看到就回复;
  2. 目前解决不了 跳过打印预览直接打印功能 有大佬知道前端实现功能 请留言
http://www.yidumall.com/news/68439.html

相关文章:

  • 对网站建设功能的情况说明站长seo综合查询
  • 台州网站建设选浙江华企免费论坛建站系统
  • 网站如何做访客统计广东深圳疫情最新情况
  • 网站内容要突出什么原因百度在西安的公司叫什么
  • 哪些网站做批发衣服宁波seo推荐推广平台
  • 企业网站建设流程介绍如何建立自己的网页
  • wordpress获取QQseo综合查询工具可以查看哪些数据
  • 网站一键搭建百度推广官方网站
  • 手机网站模板使用方法小红书推广平台
  • 做外贸 网站邮箱申请软件培训
  • 涉密项目单位网站建设流程广告软文范例
  • 公众号菜单栏页面模板关键词优化工具
  • 有哪些做海报的网站磁力兔子
  • 建立企业网站几天百度seo优化服务
  • ps做的网站保存不了jpg百度推广助手官方下载
  • 手机网站免费制作广州竞价托管代运营
  • 做我的世界缩略图的网站广州seo托管
  • 网站怎么做才能用手机打开谷歌搜索引擎入口2022
  • 中国勘察设计行业信息化建设网站seo关键词优化如何
  • 电子商务网站建设多少钱百度投诉中心热线
  • 房产做网站吸引百度广告运营
  • wordpress修改邮箱设置优化关键词首页排行榜
  • 深圳房地产网站设计seo排名优化软件有用吗
  • 网站推广的方法有seo关键词排名教程
  • wordpress 图片清晰度北京搜索引擎优化经理
  • 深汕特别合作区事务员待遇小璇seo优化网站
  • 门窗网站制作宣传语网络营销推广策划书
  • 优化推广排名网站教程推广平台app
  • 公司建网站多少钱网站域名费一年多少钱
  • 做网站一般什么配置网页开发工具