diff --git a/frame.js b/frame.js index f837dbee..32da9dd0 100644 --- a/frame.js +++ b/frame.js @@ -10,7 +10,7 @@ Volcanos("onengine", {help: "搜索引擎", list: [], _init: function(can, meta, can.onappend._init(can, item, item.list, function(panel) { panel.run = function(event, cmds, cb) { var msg = panel.request(event); cmds = cmds||[] return (can.onengine[cmds[0]]||can.onengine._remote)(event, can, msg, panel, cmds, cb) - }, can[item.name] = panel, panel._root = can, panel._trans = panel.onaction._trans + }, can[item.name] = panel, panel._root = can, panel._trans = panel.onaction && panel.onaction._trans||{} can.core.ItemCB(panel.onaction, function(key, cb) { can.onengine.listen(can, key, function(msg) { can.core.CallFunc(cb, {can: panel, msg: msg}) }) @@ -41,7 +41,7 @@ Volcanos("onengine", {help: "搜索引擎", list: [], _init: function(can, meta, _engine: function(event, can, msg, panel, cmds, cb) { return false }, _remote: function(event, can, msg, panel, cmds, cb) { if (panel.onengine._engine(event, can, msg, panel, cmds, cb)) { return } - can.search({follow: panel._follow, msg, cmds}, ["Footer.onimport.ncmd"]) + can.search({follow: panel._follow, msg: msg, cmds: cmds}, ["Footer.onimport.ncmd"]) var key = can.core.Keys(panel._name, cmds.join(",")) if (can.user.isLocalFile) { var msg = can.request(event); msg.Clear(ice.MSG_APPEND) diff --git a/lib/misc.js b/lib/misc.js index 402b755c..623e5ff4 100644 --- a/lib/misc.js +++ b/lib/misc.js @@ -74,8 +74,8 @@ Volcanos("misc", {help: "通信协议", Message: function(event, can) { var msg for (var i = 0; i < arguments.length; i++) { msg.result.push(arguments[i]) } return msg._hand = true, msg }, - }; msg.__proto__ = proto - return msg + }; + return can.misc.proto(msg, proto) }, POST: function(can, msg, url, form, cb) { var xhr = new XMLHttpRequest(); msg._xhr = xhr @@ -118,10 +118,10 @@ Volcanos("misc", {help: "通信协议", Message: function(event, can) { var msg }) can.misc.POST(can, msg, can.base.MergeURL(dataset.names.toLowerCase(), - "_", (msg._can.sup||msg._can)._name, "_daemon", msg.__daemon||dataset.daemon||"", + "_", (msg._can.sup||msg._can)._name, "_daemon", msg.__daemon||dataset.daemon||"" ), form, cb) }, - WSS: function(can, args, cb, onopen, onclose, onerror) { + WSS: function(can, args, cb, onopen, onclose, onerror) { if (can.user.isIE) { return } var url = location.protocol.replace("http", "ws")+"//"+location.host+"/space/" if (url.indexOf("chrome") == 0) { url = "ws://localhost:9020/space/" } @@ -168,6 +168,14 @@ Volcanos("misc", {help: "通信协议", Message: function(event, can) { var msg if (from[0] == "_search") { return from } return to.concat(from) }, + proto: function(sub, sup) { + if (navigator.userAgent.indexOf("MSIE") > -1) { + for (var k in sup) { sub[k] = sub[k]||sup[k] } + } else { + sub.__proto__ = sup + } + return sub + }, Log: function() { var args = [this._time(), this.FileLine(2, 3)] diff --git a/lib/page.js b/lib/page.js index c52ec8ce..d26feefe 100644 --- a/lib/page.js +++ b/lib/page.js @@ -166,7 +166,7 @@ Volcanos("page", {help: "用户界面", ClassList: { // 递归节点 item.list && can.page.Append(can, node, item.list, value) - target && target.append && target.appendChild(node) + target && target.appendChild && target.appendChild(node) can.base.isFunc(item._init) && item._init(node) }) return value diff --git a/lib/user.js b/lib/user.js index 58d590b2..74ae6183 100644 --- a/lib/user.js +++ b/lib/user.js @@ -19,6 +19,7 @@ Volcanos("user", {help: "用户操作", agent: { typeof cb == "function" && cb([]) }, }, + isIE: navigator.userAgent.indexOf("MSIE") > -1, isLandscape: window.innerWidth > window.innerHeight, isWeiXin: navigator.userAgent.indexOf("MicroMessenger") > -1, isIPhone: navigator.userAgent.indexOf("iPhone") > -1, @@ -157,7 +158,7 @@ Volcanos("user", {help: "用户操作", agent: { copy: function(event, can, text) { if (navigator.clipboard) { var ok = false - navigator.clipboard.writeText(text).then(() => { ok = true }) + navigator.clipboard.writeText(text).then(function() { ok = true }) if (ok) { return can.user.toast(can, text, "复制成功") } } diff --git a/page/index.css b/page/index.css index 11d83ca0..c9b57222 100644 --- a/page/index.css +++ b/page/index.css @@ -459,7 +459,9 @@ body>div.upload input[type=file] { } body.white { - background-color:#052238bf; + /* background-color:rgba(68,92,106,0.7); */ + background-color:rgba(5,34,56,0.75); + /* background-color:#052238bf; */ color:white; } body.white select { diff --git a/panel/footer.js b/panel/footer.js index 34925a43..da4bd527 100644 --- a/panel/footer.js +++ b/panel/footer.js @@ -48,7 +48,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, can.page.Modify(can, can.toast, [time.split(ice.SP).pop(), title, content].join(ice.SP)) can._toast.Push({time: time, fileline: fileline, title: title, content: content}) }, - ncmd: function(can, msg, follow, cmds) { const NCMD = "ncmd"; can._cmds = can._cmds || can.request() + ncmd: function(can, msg, follow, cmds) { var NCMD = "ncmd"; can._cmds = can._cmds || can.request() can._cmds.Push({time: can.base.Time(), follow: follow, cmds: cmds}) can.page.Select(can, can._output, can.core.Keys(html.SPAN, NCMD), function(item) { item.innerHTML = can.Conf(NCMD, parseInt(can.Conf(NCMD)||"0")+1+"")+"" diff --git a/plugin/local/wiki/feel.js b/plugin/local/wiki/feel.js index a617619a..cfd6a9d0 100644 --- a/plugin/local/wiki/feel.js +++ b/plugin/local/wiki/feel.js @@ -1,6 +1,6 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, list, cb, target) { can.path = can.request(), can.list = [], msg.Table(function(value) { - value.path.endsWith("/")? can.path.Push(value): can.list.push(value) + value.path.lastIndexOf("/")==value.path.length-1? can.path.Push(value): can.list.push(value) }) can.base.isFunc(cb) && cb(msg) diff --git a/plugin/state.js b/plugin/state.js index 576bac86..4f509b0a 100644 --- a/plugin/state.js +++ b/plugin/state.js @@ -180,11 +180,11 @@ Volcanos("onaction", {help: "交互操作", list: [ scanQRCode0: function(event, can) { can.user.agent.scanQRCode() }, getClipboardData: function(event, can, cmd) { if (navigator.clipboard) { - navigator.clipboard.readText().then(text => { + navigator.clipboard.readText().then(function(text) { can.run(event, can.base.Simple(ctx.ACTION, cmd, can.base.parseJSON(text)), function(msg) { can.user.toast(can, text, "添加成功"), can.Update() }, true) - }).catch((err) => { can.misc.Log(err) }) + }).catch(function(err) { can.misc.Log(err) }) } else { can.user.input(event, can, [{type: "textarea"}], function(ev, button, data, list, args) { can.run(event, can.base.Simple(ctx.ACTION, cmd, can.base.parseJSON(list[0])), function(msg) { diff --git a/plugin/story/trend.js b/plugin/story/trend.js index d933ab50..10004b99 100644 --- a/plugin/story/trend.js +++ b/plugin/story/trend.js @@ -17,7 +17,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, } }) }, - _sum: function(can, ) { + _sum: function(can) { var begin = "", count = 0, rest = 0, add = 0, del = 0, max = 0 can.max = 0, can.min = 0, can.list = can.core.List(can.data, function(value, index) { var line = { diff --git a/proto.js b/proto.js index 65d38c81..40051e6b 100644 --- a/proto.js +++ b/proto.js @@ -1,4 +1,4 @@ -const kit = { +var kit = { MDB_ID: "id", MDB_KEY: "key", MDB_TIME: "time", @@ -16,7 +16,7 @@ const kit = { MDB_HASH: "hash", MDB_LIST: "list", } -const ice = { +var ice = { SP: " ", PT: ".", NL: "\n", POD: "pod", CTX: "ctx", CMD: "cmd", ARG: "arg", OPT: "opt", @@ -47,51 +47,51 @@ const ice = { AUTO: "auto", } -const ctx = { +var ctx = { CONTEXT: "context", COMMAND: "command", CONFIG: "config", ACTION: "action", } -const cli = { +var cli = { RUN: "run", DONE: "done", OPEN: "open", CLOSE: "close", START: "start", STOP: "stop", CLEAR: "clear", REFRESH: "refresh", } -const web = { +var web = { SHARE: "share", SPACE: "space", } -const aaa = { +var aaa = { USERNAME: "username", USERNICK: "usernick", BACKGROUND: "background", AVATAR: "avatar", LANGUAGE: "language", ENGLISH: "english", CHINESE: "chinese", LOGIN: "login", LOGOUT: "logout", INVITE: "invite", } -const mdb = { +var mdb = { PLUGIN: "plugin", RENDER: "render", SEARCH: "search", INPUTS: "inputs", CREATE: "create", REMOVE: "remove", INSERT: "insert", DELETE: "delete", MODIFY: "modify", SELECT: "select", META: "meta", HASH: "hash", LIST: "list", } -const ssh = { +var ssh = { SCRIPT: "script", } -const nfs = { +var nfs = { DIR: "dir", } -const tcp = { +var tcp = { HOST: "host", } -const code = { +var code = { WEBPACK: "webpack", } -const wiki = { +var wiki = { TITLE: "title", BRIEF: "brief", REFER: "refer", SPARK: "spark", ORDER: "order", TABLE: "table", CHART: "chart", IMAGE: "image", VIDEO: "video", FIELD: "field", SHELL: "shell", LOCAL: "local", PARSE: "parse", } -const chat = { +var chat = { LIB: "lib", PAGE: "page", PANEL: "panel", PLUGIN: "plugin", OUTPUT: "output", STORY: "story", CARTE: "carte", INPUT: "input", FLOAT: "float", HEAD: "head", AUTO: "auto", LEFT: "left", MAIN: "main", FOOT: "foot", @@ -113,16 +113,16 @@ const chat = { SSO: "sso", CMD_MARGIN: 53, } -const team = { +var team = { TASK: "task", PLAN: "plan", } -const mall = { +var mall = { ASSET: "asset", SALARY: "salary", } -const html = { +var html = { FIELDSET: "fieldset", LEGEND: "legend", OPTION: "option", ACTION: "action", OUTPUT: "output", STATUS: "status", FORM_OPTION: "form.option", DIV_ACTION: "div.action", DIV_OUTPUT: "div.output", DIV_STATUS: "div.status", @@ -141,7 +141,7 @@ const html = { FORM: "form", FILE: "file", LIST: "list", ITEM: "item", MENU: "menu", } -const lang = { +var lang = { STRING: "string", OBJECT: "object", FUNCTION: "function", ENTER: "Enter", } @@ -174,7 +174,8 @@ var Volcanos = shy("火山架", {iceberg: "/chat/", volcano: "/frame.js", args: }, _can_name = "", can._root = can } - can = can||{}, can.__proto__ = {__proto__: meta, _name: name, _load: function(name, cb) { // 加载缓存 + can = can||{} + var proto = {__proto__: meta, _name: name, _load: function(name, cb) { // 加载缓存 var cache = meta.cache[name]||[]; for (list.reverse(); list.length > 0; list) { var sub = list.pop(); sub != can && cache.push(sub) }; meta.cache[name] = cache @@ -218,6 +219,12 @@ var Volcanos = shy("火山架", {iceberg: "/chat/", volcano: "/frame.js", args: Conf: function(key, value) { return can.core.Value(can._conf, key, value) }, _conf: {}, } + if (navigator.userAgent.indexOf("MSIE") > -1) { + for (var k in proto) { can[k] = proto[k] } + } else { + can.__proto__ = proto + } + if (_can_name) { // 加入缓存 meta.cache[_can_name] = meta.cache[_can_name]||[], meta.cache[_can_name].push(can) } else { // 加入队列 @@ -232,7 +239,7 @@ Volcanos.meta._load = function(url, cb) { var item = document.createElement(kit.MDB_LINK) item.rel = "stylesheet", item.type = "text/css" item.onload = cb, item.href = url - return document.head.appendChild(item), item + return (document.head||document.body).appendChild(item), item case "js": var item = document.createElement(ssh.SCRIPT) item.onload = cb, item.src = url