App.vue 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <template>
  2. <div id="app" :class="$route.path == '/codeHtml'?'codeHtmlPage':''"
  3. :style="$route.path == '/codeHtml'?'width:'+innerWidth+'px!important;height:'+innerHeight+'px!important;':''">
  4. <router-view />
  5. </div>
  6. </template>
  7. <script>
  8. export default {
  9. name: 'App',
  10. data(){
  11. return{
  12. innerHeight:window.innerHeight,
  13. innerWidth:window.innerWidth,
  14. }
  15. },
  16. metaInfo() {
  17. return {
  18. title: this.$store.state.settings.dynamicTitle && this.$store.state.settings.title,
  19. titleTemplate: title => {
  20. return title ? `${title} - ${process.env.VUE_APP_TITLE}` : process.env.VUE_APP_TITLE
  21. },
  22. }
  23. },
  24. mounted(){
  25. this.banZoom();
  26. //根据当前浏览器宽度与额定尺寸计算transform缩放值
  27. document.getElementById('app').style.transform = `scale(${document.documentElement.clientWidth / 1920})`;
  28. //根据当前浏览器宽度与额定尺寸计算当前浏览器可观看尺寸高度
  29. document.getElementById('app').style.height = (window.innerHeight/(document.documentElement.clientWidth / 1920*100))*100+'px';
  30. //当尺寸改变后从新计算
  31. window.onresize = () => {
  32. return (() => {
  33. document.getElementById('app').style.transform = `scale(${document.documentElement.clientWidth / 1920})`;
  34. document.getElementById('app').style.height = (window.innerHeight/(document.documentElement.clientWidth / 1920*100))*100+'px';
  35. })();
  36. };
  37. },
  38. methods:{
  39. banZoom(){
  40. // 禁止通过 ctrl + +/- 和 ctrl + 滚轮 对页面进行缩放
  41. document.addEventListener('keydown', function (event) {
  42. if ((event.ctrlKey === true || event.metaKey === true) &&
  43. (event.which === 61 || event.which === 107 ||
  44. event.which === 173 || event.which === 109 ||
  45. event.which === 187 || event.which === 189)) {
  46. event.preventDefault()
  47. }
  48. }, false)
  49. // Chrome IE 360
  50. window.addEventListener('mousewheel', function (event) {
  51. if (event.ctrlKey === true || event.metaKey) {
  52. event.preventDefault()
  53. }
  54. }, {
  55. passive: false
  56. })
  57. // firefox
  58. window.addEventListener('DOMMouseScroll', function (event) {
  59. if (event.ctrlKey === true || event.metaKey) {
  60. event.preventDefault()
  61. }
  62. }, {
  63. passive: false
  64. })
  65. },
  66. }
  67. }
  68. </script>
  69. <style>
  70. html,body{
  71. margin:0;
  72. padding:0;
  73. height:100%;
  74. width:100%;
  75. overflow: hidden;
  76. }
  77. #app{
  78. transform-origin: left top;
  79. width:1920px;
  80. display: flex;
  81. flex-direction: column;
  82. flex:1;
  83. }
  84. body::-webkit-scrollbar{ display: none; }
  85. .v-modal{
  86. display: none;
  87. }
  88. .el-drawer__container,.el-dialog__wrapper,.el-message-box__wrapper{
  89. background: rgba(0,0,0,0.4);
  90. }
  91. .codeHtmlPage{
  92. transform: scale(1)!important;
  93. }
  94. </style>