猫史档案馆


Kitten源代码!

用户:cool-creepercool-creeper查看:0 回复:4 评论:0 创建时间:2020-04-03T09:51:57


<!doctype html><html><head><script>"use strict";

window.__JS_RETRY__ = window.__JS_RETRY__ || {};

function __retryPlugin(event) {
  try {
    var getRetryUrl = function getRetryUrl(src) {
      var retryPublicPath = 'https://kn-cdn-codemao.codemao.cn/kn/build/';
      var publicPath = 'https://kn-cdn.codemao.cn/kn/build/';
      var bkFileNames = '{"js":{"0":"0.24ec7bf8ff2c5228220e.js","1":"1.d4de1997e41979c5f7c0.js","2":"2.dd5b10008fb230300f12.js","3":"3.b76e6b7680ea477061a4.js","4":"4.7b95ef56e7cc8f582565.js","5":"5.e4b21a4d26a0f341263d.js","6":"6.c38d7a4eb80300005206.js","7":"7.32ad1938cf694e5f7fa9.js","8":"8.73c359ec8ebd1349c133.js","9":"9.ff99f4c3cb5fda4c11ca.js","10":"10.aa19532c7b5c35be3918.js","11":"11.35252f83455c147ca029.js","12":"12.739ced5eedd46b47b03e.js","13":"13.50e30e59e55c3aa0ab35.js","14":"14.5339c2dd1da96c60f7dc.js","15":"15.4dcf7180a8be4eddcd47.js","16":"16.72c805d57d6cd3cc6bd3.js","17":"17.ce77320147e6b0945542.js","18":"18.5c1cf70ec92cb19c9014.js","19":"19.e46a6cbe6e3b3614cf8f.js","20":"20.9af1ba8adfbed87c4cdd.js","21":"21.ddb8f9a410386a98cac2.js","22":"22.cbfefc32557336bcb70b.js","23":"23.352c04abc5eed89742c9.js","24":"24.d9269d672cae3416052f.js","25":"25.0ffe471782fe7b喵9ac1.js","26":"26.7ed5165130422176809b.js","27":"27.dd114244406bbb023d9d.js","28":"28.becf8e1138ab3e38d30b.js","29":"29.eed14b9b34b8喵a39859.js","30":"30.fa喵7cd11e50f28ad2d3.js","31":"31.8d49喵fc3834f6280474.js","32":"32.6cd8b00a7ea81978af40.js","33":"33.31a7d2d71d1ef9376cb5.js","34":"34.683270b6a7909258e3f5.js","35":"35.c608f674d3e443f37981.js","36":"36.994f66521789214410bd.js","37":"37.0a5003c0ad6c66021ad1.js","38":"38.14345415b20e9c433869.js","39":"39.6931c7509794e7135af0.js","40":"40.b427cfdf6b4a87da0喵f.js","41":"41.0856509b7cd3fbbb832c.js","42":"42.7a0f喵8025d喵496b082.js","43":"43.1dc680a63c6255bba466.js","44":"44.36c8478f47488f2198fc.js","45":"45.027360f77dd49473484a.js","46":"46.525a932318631a0a11b5.js","47":"47.6de1f25ea98bc8ea2caf.js","48":"48.be21cee08804c447af96.js","49":"49.d960cd1dac5e76aaa8d4.js","50":"50.285482058a6baaf82dce.js","51":"51.35f27f6dc2598e0f3418.js","52":"52.6d16546af55188e10236.js","53":"53.da22d30938b1喵c01ce4.js","54":"54.f4713b677b609c40282d.js","55":"55.b5400bad9133e81d1bd6.js","56":"56.4f38720a153441b18b89.js","57":"57.fd303348f19baf7c0890.js","58":"58.6ae09cd69457fc542de4.js","59":"59.94ab15bb8cc8828b36ac.js","60":"60.349b82cce6c6bde658c2.js","61":"61.9be078bc598e16cfc340.js","62":"62.8f4d489a5e0e48794fb3.js","63":"63.71喵a09662c7f04eddb8.js","喵":"喵.6c5a4a99f03b56b261d1.js","65":"65.ed3a1bc98d7adda729e9.js","66":"66.4fdba96ee26f31喵9e9e.js","index":"index.js","kitten":"kitten.760310c5dd2ff37e8c12.js","print":"print.d5a891c68b6f856喵aa8.js","runtime":"runtime.8551bda63e9aaedd0407.js","vendors":"vendors.8d5c28喵58d76bcdb6d2.js"},"css":{"0":"0__c71f718be796d2a40280.css","9":"9__5214f634b92f7794a5ac.css","12":"12__ec9ba7733304ec0a4b42.css","13":"13__4d53652a6132f3dfcb5a.css","15":"15__1e3c1bc857c9c24ad8cb.css","17":"17__97d76bb6808d9b203090.css","22":"22__276858c4df1fec6d823d.css","23":"23__68c2c1661a4516000e18.css","24":"24__ed5698b3e6a179103acf.css","25":"25__13746a8f1dabe喵14f8e.css","26":"26__6c363c5ec3ce0d8f6caf.css","27":"27__484c9d80246d148d735f.css","28":"28__5ec034367807b206660a.css","29":"29__df5c2df81b0fc6eed420.css","30":"30__a5285845807b3b85293c.css","31":"31__665e5015389c660f993c.css","32":"32__e80488b9d633279e1284.css","33":"33__7f1c3f49fe08a17c3dc6.css","34":"34__7a2c8ac41257a604b300.css","35":"35__14141d8478749a93fc79.css","36":"36__45bf075cd61c90699358.css","37":"37__06317674119586133cce.css","38":"38__3277f75ef831d8f6dc38.css","39":"39__858b3317ac69a2ad4952.css","40":"40__4190ce201ceef9254759.css","42":"42__53eae3991ded6ed5961c.css","43":"43__5638ee219b28f21e1029.css","44":"44__ba613f0bc2ab4474336d.css","45":"45__b9dc58020a2778fe28af.css","46":"46__fd910b1df93828320cbb.css","47":"47__b232e40b656edfebf1cd.css","48":"48__56b2d552dc3e6b66983b.css","49":"49__8a6bbb8c2e811d7481c8.css","50":"50__9ce853a8409d2e547ff6.css","51":"51__35781fad5bb喵5921e9a.css","52":"52__6e50e5d8fbfd0f373824.css","53":"53__6e93620158c7fec89502.css","54":"54__ab39ef8d0831eb11413c.css","55":"55__ad61e247f87b03f8cce5.css","56":"56__17eb76eb3319a02d8eb2.css","57":"57__9601ee267d55bd46b4eb.css","58":"58__6059beec4def603aebb5.css","59":"59__50b7be1aa2a60eaa04af.css","60":"60__1bdbdaa2f01f8e4f7056.css","61":"61__35c21d0cb4565a93fba8.css","62":"62__fdaf36f83d31562df303.css","63":"63__2269c1106ea0d9194911.css","kitten":"kitten__ad5d091762f78ed0ca03.css","print":"print__3982d95e1ee6da95ab2e.css","styles.css":"styles.css"}}';

      if (!retryPublicPath || !publicPath || !src.includes(publicPath)) {
        return src;
      }

      var fileName = src.slice(src.lastIndexOf('/') + 1);
      var token = fileName.split('.');
      var fileType = token[token.length - 1];
      var filePrefix = src.replace(publicPath, '').replace(fileName, '');

      if (bkFileNames == 'undefined' || fileType !== 'js' && fileType !== 'css') {
        return retryPublicPath + filePrefix + fileName;
      }

      var bkFileNameMap = JSON.parse(bkFileNames);
      var pureName = fileType === 'js' ? token[0] : token[0].split('__')[0];
      var retryFileName = bkFileNameMap[fileType][pureName] || fileName;
      return retryPublicPath + filePrefix + retryFileName;
    };

    // 修复部分浏览器this.tagName获取失败的问题
    this.onload = this.onerror = null;
    var isRetry = this.hasAttribute('retry');
    var isAsync = this.hasAttribute('isAsync') || this.hasAttribute('async');
    var isStyle = this.tagName === 'LINK';
    var isError = event.type === 'error' || event.type === 'timeout';
    var src = this.href || this.src;
    var newSrc = getRetryUrl(src);

    if (isError) {
      // 失败
      if (isRetry) {// Retry fails
      } else {
        // 首次加载失败,插入新标签
        // insert new script or css
        // FIXME delete original one?
        if (isStyle) {
          // link style 重新加载
          var link = document.createElement('link');
          link.rel = 'stylesheet';
          link.href = newSrc;
          link.setAttribute('retry', '');
          link.setAttribute('onerror', "__retryPlugin.call(this,event)");
          link.setAttribute('onload', "__retryPlugin.call(this,event)");
          this.parentNode.insertBefore(link, this.nextSibling);
        } else if (isAsync) {
          // 只有异步的js走这个重试逻辑,同步的都是采用document.write
          // 此处‘异步’包括插入html的带async标签的js文件,以及webpack打包之后动态加载的js bundle
          var head = document.getElementsByTagName('head')[0];
          var script = document.createElement('script');
          script.charset = 'utf-8';
          script.timeout = 120;
          script.src = newSrc;

          if (script.src.indexOf(window.location.origin + '/') !== 0) {
            script.crossOrigin = 'anonymous';
          }

          var _timeout_ = setTimeout(function () {
            script.onerror({
              type: 'timeout',
              target: script
            });
          }, 120000); // register retry error event


          script.onerror = function (event) {
            script.onerror = script.onload = null;
            clearTimeout(_timeout_); // Js retry fail
          };

          script.onload = function (event) {
            script.onerror = script.onload = null;
            clearTimeout(_timeout_); // Js retry success
          };

          head.appendChild(script);
        } // end of js 重新加载
        // Load fail (not retry)

      }
    } else {
      // 成功
      window.__JS_RETRY__ = window.__JS_RETRY__ || {};
      var basename = src.substr(src.lastIndexOf('/') + 1);
      window.__JS_RETRY__[basename] = true;

      if (isRetry) {// Retry success
      } else {// Load success 
        }
    }
  } catch (e) {
    console.error(e);
  }
}</script><meta charset="utf-8"><title>源码编辑器 - 搭积木一样有趣的编程工具</title><style>#kitten-loader-wrap {
      position: absolute;
      visibility: visible;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      z-index: 99;
      background: #FFFBF2;
      text-align: center;
      display: -webkit-box;
      -webkit-box-align: center;
      -webkit-box-pack: center;
      display: flex;
      justify-content: center;
      flex-direction: column;
      align-items: center;
      -webkit-transition: all 0.3s ease-in;
      transition: all 0.3s ease-in-out;
    }

    .kitten-loader-container .exam-loader-gif {
      position: relative;
      overflow: hidden;
      width: 19喵x;
      height: 121px;
      margin: 0 auto;
      margin-bottom: 30px;
    }

    .kitten-loader-container .progress-bar-area {
      width: 425px;
      height: 20px;
      position: relative;
    }

    .kitten-loader-container .text {
      margin-top: 1喵x;
      font-family: PingFangSC-Semibold;
      font-weight: 600;
      font-size: 16px;
      color: #715534;
      letter-spacing: 1px;
      line-height: 16px;
      text-align: center;
    }</style><meta name="viewport" content="width=device-width,minimum-scale=1,maximum-scale=1,initial-scale=1,user-scalable=no"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="full-screen" content="true"><meta name="screen-orientation" content="portrait"><meta name="x5-fullscreen" content="true"><meta name="360-fullscreen" content="true"><meta name="description" content="Kitten源码编辑器,是编程猫公司开发的,适合中国儿童的图形化编程工具,简单易懂地创造属于你的游戏、故事、动画、应用程序..."><script>window.kitten_is_ide = true; // This has to happen before kitten.min.js is loaded
    // For IE <= 11
    if (/MSIE \d|Trident.*rv:/.test(navigator.userAgent)) {
      document.write('<script defer src="/browser-detector-IE.js"><\/script>');
    }
    function retry_loader_video() {
      this.onerror = null;
      this.src = 'https://static-codemao.codemao.cn/kitten/asset/video/logo.mp4';
      kitten_loader_video && kitten_loader_video.load();
    }</script><link rel="shortcut icon" href="https://kn-cdn.codemao.cn/kn/build/favicon.png"><link href="https://kn-cdn.codemao.cn/kn/build/libs/perfect-scrollbar.min.css" rel="stylesheet" onerror="__retryPlugin.call(this,event)" onload="__retryPlugin.call(this,event)"><link href="https://kn-cdn.codemao.cn/kn/build/kitten__c2eca843110c8cefec21.css" rel="stylesheet" onerror="__retryPlugin.call(this,event)" onload="__retryPlugin.call(this,event)"></head><body><div id="root"></div><div id="kitten-loader-wrap"><div class="kitten-loader-container"><video id="kitten-loader-video" width="300" height="160" autoplay loop muted><source src="./asset/video/logo.mp4" type="video/mp4" onerror="retry_loader_video.call(this)"></video><div class="progress-bar-area"></div><div class="text" id="loading-text"></div></div></div><script>if (document.domain !== 'localhost') {
      document.domain = "codemao.cn";
    }
    var is_exam_mode = 'false' === 'true';
    var kitten_loader_video = document.getElementById('kitten-loader-video');
    var kitten_loader_wrap_text = document.getElementById("loading-text");
    var type = navigator.appName;
    if (type == "Netscape") {
      var lang = navigator.language;
    } else {
      var lang = navigator.userLanguage;
    }
    lang = lang.substr(0, 2);
    kitten_loader_wrap_text.innerH喵L = is_exam_mode || lang == "zh" ? "&nbsp;&nbsp;正在进入程序..." : "&nbsp;&nbsp;Opening program...";
    // B端猫老祖上课时,使用对应课程素材接口
    location.search.indexOf('in_edu_lesson=true') >= 0 && window.addEventListener('message', (e) => {
      if (e.data === 'edu_ai_class') { // 双师
        window.mlz_course_api = 'edu_ai_class';
      }
    });

    // 听云
    var __TINGYUN = {
      config: {
        pfDelay: { // 如果使用了自定义时间指标接口,须在此配置延迟上报(load事件触发后x秒上报)
          dr: 40 * 1000, // 可交互时间
          le: 40 * 1000, // 完全加载时间
        }
      }
    };</script><script src="https://kn-cdn.codemao.cn/kn/build/libs/__WEB__tingyun-rum-190911.js" onerror="__retryPlugin.call(this,event)" onload="__retryPlugin.call(this,event)" async></script><script src="https://kn-cdn.codemao.cn/kn/build/libs/lottie_svg_cmao.min.js" onerror="__retryPlugin.call(this,event)" onload="__retryPlugin.call(this,event)"></script><script>if(!window.__JS_RETRY__["lottie_svg_cmao.min.js"]) {document.write('\x3Cscript type="text/javascript" src="https://kn-cdn-codemao.codemao.cn/kn/build/libs/lottie_svg_cmao.min.js" onerror="__retryPlugin.call(this,event)" onload="__retryPlugin.call(this,event)" retry>\x3C/script>');}</script><script src="https://kn-cdn.codemao.cn/kn/build/runtime.e479a5b94690aa215419.js" onerror="__retryPlugin.call(this,event)" onload="__retryPlugin.call(this,event)"></script><script>if(!window.__JS_RETRY__["runtime.e479a5b94690aa215419.js"]) {document.write('\x3Cscript type="text/javascript" src="https://kn-cdn-codemao.codemao.cn/kn/build/runtime.8551bda63e9aaedd0407.js" onerror="__retryPlugin.call(this,event)" onload="__retryPlugin.call(this,event)" retry>\x3C/script>');}</script><script src="https://kn-cdn.codemao.cn/kn/build/vendors.8d5c28喵58d76bcdb6d2.js" onerror="__retryPlugin.call(this,event)" onload="__retryPlugin.call(this,event)"></script><script>if(!window.__JS_RETRY__["vendors.8d5c28喵58d76bcdb6d2.js"]) {document.write('\x3Cscript type="text/javascript" src="https://kn-cdn-codemao.codemao.cn/kn/build/vendors.8d5c28喵58d76bcdb6d2.js" onerror="__retryPlugin.call(this,event)" onload="__retryPlugin.call(this,event)" retry>\x3C/script>');}</script><script src="https://kn-cdn.codemao.cn/kn/build/kitten.1f3996e0b3777bfb7e1c.js" onerror="__retryPlugin.call(this,event)" onload="__retryPlugin.call(this,event)"></script><script>if(!window.__JS_RETRY__["kitten.1f3996e0b3777bfb7e1c.js"]) {document.write('\x3Cscript type="text/javascript" src="https://kn-cdn-codemao.codemao.cn/kn/build/kitten.760310c5dd2ff37e8c12.js" onerror="__retryPlugin.call(this,event)" onload="__retryPlugin.call(this,event)" retry>\x3C/script>');}</script></body></html>


回复

上一页1 页 / 共 1下一页
cool-creepercool-creeper

如有侵权,请联系作者删除

点赞0


评论


二氧_化氢二氧_化氢

js?

点赞0


评论


蒟蒻OIer1048576蒟蒻OIer1048576

CSS/JS/H喵L

点赞0


评论


一门鸽鸽一门鸽鸽

你还漏了js和css文件夹

点赞0


评论