index.html 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  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="/admin/static/ie.html"
  19. frameborder="0"></iframe>
  20. <div id="app"></div>
  21. </body>
  22. <script>
  23. // 首屏加载速度
  24. window.onload= function() {
  25. console.log(new Date().getTime() - performance.timing.navigationStart,'首屏加载速度')
  26. }
  27. function IEVersion() {
  28. var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
  29. var isIE =
  30. userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器
  31. if (isIE) {
  32. return true;
  33. } else {
  34. return false; //不是ie浏览器
  35. }
  36. }
  37. /* 如果是ie浏览器 */
  38. if (IEVersion()) {
  39. document.querySelector('#IEIframe').style.display = 'block'
  40. document.querySelector('#app').style.display = 'none'
  41. }
  42. // dataset 方法兼容 IE 浏览器。ie10及以下不支持dataset
  43. if (window.HTMLElement) {
  44. if (Object.getOwnPropertyNames(HTMLElement.prototype).indexOf('dataset') === -1) {
  45. Object.defineProperty(HTMLElement.prototype, 'dataset', {
  46. get: function () {
  47. var attributes = this.attributes // 获取节点的所有属性
  48. var name = []
  49. var value = [] // 定义两个数组保存属性名和属性值
  50. var obj = {} // 定义一个空对象
  51. for (var i = 0; i < attributes.length; i++) { // 遍历节点的所有属性
  52. if (attributes[i].nodeName.slice(0, 5) === 'data-') { // 如果属性名的前面5个字符符合"data-"
  53. // 取出属性名的"data-"的后面的字符串放入name数组中
  54. name.push(attributes[i].nodeName.slice(5));
  55. // 取出对应的属性值放入value数组中
  56. value.push(attributes[i].nodeValue);
  57. }
  58. }
  59. for (var j = 0; j < name.length; j++) { // 遍历name和value数组
  60. obj[name[j]] = value[j]; // 将属性名和属性值保存到obj中
  61. }
  62. return obj // 返回对象
  63. }
  64. })
  65. }
  66. }
  67. </script>
  68. </html>