JyLie

vuePress-theme-reco JyLie    2017 - 2023
JyLie

Choose mode

  • dark
  • auto
  • light
主页
分类
  • API
  • HTML
  • css
  • vue
  • Linux
  • Docker
  • Webpack
  • WebGL
  • PixiJS
  • Github
  • BOM
  • XML
  • bug
  • ie
  • uniapp
  • IE
  • mysql
  • font
  • bom
  • canvas
  • video
  • html
  • JavaScript
  • js
  • 运算符
  • RegExp
  • 编码
  • MiniApp
  • nginx
  • Tool
  • node.js
  • cat
  • nodejs
  • protocol
  • URL
  • FLOW
  • DNS
  • Protocol
  • python
  • 安全
  • linux
  • shell
  • IDE
  • Packer
  • ViteJS
  • git
  • vendor
  • WebApp
  • WebView
  • Window API
  • webview
  • 规范
标签
时光轴
GitHub
author-avatar

JyLie

74

Article

79

Tag

主页
分类
  • API
  • HTML
  • css
  • vue
  • Linux
  • Docker
  • Webpack
  • WebGL
  • PixiJS
  • Github
  • BOM
  • XML
  • bug
  • ie
  • uniapp
  • IE
  • mysql
  • font
  • bom
  • canvas
  • video
  • html
  • JavaScript
  • js
  • 运算符
  • RegExp
  • 编码
  • MiniApp
  • nginx
  • Tool
  • node.js
  • cat
  • nodejs
  • protocol
  • URL
  • FLOW
  • DNS
  • Protocol
  • python
  • 安全
  • linux
  • shell
  • IDE
  • Packer
  • ViteJS
  • git
  • vendor
  • WebApp
  • WebView
  • Window API
  • webview
  • 规范
标签
时光轴
GitHub
  • 原生html页面引入vue.js,IE兼容性问题

    • 具体步骤:

    原生html页面引入vue.js,IE兼容性问题

    vuePress-theme-reco JyLie    2017 - 2023

    原生html页面引入vue.js,IE兼容性问题


    JyLie 2022-07-19 IE兼容性VueJS

    这两天在做项目时,发现 vue 的在 ie 下显示不正常,且部分没有编译,百度看了很多方法,都是解决 vue-cli 搭框架的问题,但我在项目中没有用 vue-cli 搭框架,而是直接在 HTML 中引入 vue.js 文件。最后终于找到一个解决方法,现在记录以下,方便以后看,

    IE 不兼容 Vue 的原因无非就是编译不了高于 ES5 的语法,因此解决 IE 的兼容问题就要将项目中的高级语法转化为 IE 可以编译的 ES5 语法。

    在 vue-cli 中,ie 浏览器下不显示,需要下载安装 babel-polyfill(npm i babel-polyfill),同样的,在 html 中使用 vue 的语法时,也需要引入 babel 和 polyfill。

    # 具体步骤:

    1. 下载文件到本地,并且放到自己的 js 文件中:
    • (1)browser.min.js 源码 : https://blog-static.cnblogs.com/files/gxsyj/browser.min.js

    • (2)polyfill.min.js 源码:https://blog-static.cnblogs.com/files/gxsyj/polyfill.min.js

    1. 一定要在引入 vue.js 之前就引入这两个文件。
    <script src="~/Views/TodayPlan/browser.min.js"></script>
    <script src="~/Views/TodayPlan/polyfill.min.js"></script>
    
    1
    2
    1. 在 script 标签中 添加 type="text/babel"。只需要在需要转换 为 es5 语法的 script 标签添加上就可以。
    <script type="text/babel">
      new Vue({
        el: '#app',
        data: function() {
          return {
            visible: false,
            tableData: []
          }
        },
        methods:{
        }
      })
    </script>
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13

    配置来到这里正常浏览器基本可以运行,但有时候也会碰见 xxx is not undefined 的报错,思来想去的还是碰着运气试试是否浏览器加载脚本文件顺序有关,于是在脚本文件的逻辑上嵌套了在文本加载完后在执行的逻辑,从 JavaScript 的原理上就是嵌套一个监听页面加载完毕的事件。

    document.ready = function() {};
    
    1

    另外安全起见,预防双引擎浏览器的加载,设置优先使用最先进的引擎

    ``html

    ```