HEX
Server: nginx/1.28.1
System: Linux 10-41-63-61 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 x86_64
User: www (1001)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/bs.kntsleep.com/system/extend/ueditor/_src/plugins/snapscreen.js
/**
 * 截屏插件,为UEditor提供插入支持
 * @file
 * @since 1.4.2
 */
UE.plugin.register("snapscreen", function() {
  var me = this;
  var snapplugin;

  function getLocation(url) {
    var search,
      a = document.createElement("a"),
      params = utils.serializeParam(me.queryCommandValue("serverparam")) || "";

    a.href = url;
    if (browser.ie) {
      a.href = a.href;
    }

    search = a.search;
    if (params) {
      search = search + (search.indexOf("?") == -1 ? "?" : "&") + params;
      search = search.replace(/[&]+/gi, "&");
    }
    return {
      port: a.port,
      hostname: a.hostname,
      path: a.pathname + search || +a.hash
    };
  }

  return {
    commands: {
      /**
             * 字体背景颜色
             * @command snapscreen
             * @method execCommand
             * @param { String } cmd 命令字符串
             * @example
             * ```javascript
             * editor.execCommand('snapscreen');
             * ```
             */
      snapscreen: {
        execCommand: function(cmd) {
          var url, local, res;
          var lang = me.getLang("snapScreen_plugin");

          if (!snapplugin) {
            var container = me.container;
            var doc = me.container.ownerDocument || me.container.document;
            snapplugin = doc.createElement("object");
            try {
              snapplugin.type = "application/x-pluginbaidusnap";
            } catch (e) {
              return;
            }
            snapplugin.style.cssText =
              "position:absolute;left:-9999px;width:0;height:0;";
            snapplugin.setAttribute("width", "0");
            snapplugin.setAttribute("height", "0");
            container.appendChild(snapplugin);
          }

          function onSuccess(rs) {
            try {
              rs = eval("(" + rs + ")");
              if (rs.state == "SUCCESS") {
                var opt = me.options;
                me.execCommand("insertimage", {
                  src: opt.snapscreenUrlPrefix + rs.url,
                  _src: opt.snapscreenUrlPrefix + rs.url,
                  alt: rs.title || "",
                  floatStyle: opt.snapscreenImgAlign
                });
              } else {
                alert(rs.state);
              }
            } catch (e) {
              alert(lang.callBackErrorMsg);
            }
          }
          url = me.getActionUrl(me.getOpt("snapscreenActionName"));
          local = getLocation(url);
          setTimeout(function() {
            try {
              res = snapplugin.saveSnapshot(
                local.hostname,
                local.path,
                local.port
              );
            } catch (e) {
              me.ui._dialogs["snapscreenDialog"].open();
              return;
            }

            onSuccess(res);
          }, 50);
        },
        queryCommandState: function() {
          return navigator.userAgent.indexOf("Windows", 0) != -1 ? 0 : -1;
        }
      }
    }
  };
});