index.html 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no">
  7. <link rel="shortcut icon" href="<%= BASE_URL %>favicon.ico">
  8. <title>
  9. <%= VUE_APP_TITLE %>
  10. </title>
  11. </head>
  12. <body>
  13. <noscript>
  14. <strong>
  15. 请开启 JavaScript 功能来使用 <%= VUE_APP_TITLE %>。
  16. </strong>
  17. </noscript>
  18. <iframe id='IEIframe' style='display: none;' width="100%" height="100%" src="/static/ie.html"
  19. frameborder="0"></iframe>
  20. <div id="app">
  21. </div>
  22. </body>
  23. <script>
  24. function IEVersion() {
  25. var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
  26. var isIE =
  27. userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器
  28. if (isIE) {
  29. return true;
  30. } else {
  31. return false; //不是ie浏览器
  32. }
  33. }
  34. /* 如果是ie浏览器 */
  35. if (IEVersion()) {
  36. document.querySelector('#IEIframe').style.display = 'block'
  37. document.querySelector('#app').style.display = 'none'
  38. }
  39. // dataset 方法兼容 IE 浏览器。ie10及以下不支持dataset
  40. if (window.HTMLElement) {
  41. if (Object.getOwnPropertyNames(HTMLElement.prototype).indexOf('dataset') === -1) {
  42. Object.defineProperty(HTMLElement.prototype, 'dataset', {
  43. get: function () {
  44. var attributes = this.attributes // 获取节点的所有属性
  45. var name = []
  46. var value = [] // 定义两个数组保存属性名和属性值
  47. var obj = {} // 定义一个空对象
  48. for (var i = 0; i < attributes.length; i++) { // 遍历节点的所有属性
  49. if (attributes[i].nodeName.slice(0, 5) === 'data-') { // 如果属性名的前面5个字符符合"data-"
  50. // 取出属性名的"data-"的后面的字符串放入name数组中
  51. name.push(attributes[i].nodeName.slice(5));
  52. // 取出对应的属性值放入value数组中
  53. value.push(attributes[i].nodeValue);
  54. }
  55. }
  56. for (var j = 0; j < name.length; j++) { // 遍历name和value数组
  57. obj[name[j]] = value[j]; // 将属性名和属性值保存到obj中
  58. }
  59. return obj // 返回对象
  60. }
  61. })
  62. }
  63. }
  64. </script>
  65. </html>