1. Hello World!

  • Creating an HTML page that links the mxGraph client JavaScript,
  • Creating a container to place the mxGraph into,
  • Adds the required cells to that graph.
<script type="text/javascript">mxBasePath = 'javaScript/src'</script>
<script type="text/javascript" src="javascript/src/js/mxClient.js">
</script>

mxBasePath:这是一个JavaScript变量,定义了css、图像、资源和js目录所在的目录。它是JavaScript代码,需要放在脚本标记中。这必须在加载mxClient.js的行之前,并且后面不应该有斜杠。

mxClient.js:这是到mxGraph库的路径。如果HTML文件在本地执行,则路径可能是计算机的本地路径或公共Internet路径。如果html页面是从web服务器下载的,那么路径通常是公共Internet路径

Creation of the container:在代码的底部,在body元素中,定义了加载web页面时调用的函数(onload的值)。它将div容器作为参数传递,该参数在下面定义。这个div是mxGraph组件将放在其中的容器。在本例中,应用了网格背景,就像在绘图应用程序中常用的那样。在创建容器时,除了背景和容器的宽度和高度之外,没有描述图形可视化的其他部分。
注意,如果不希望出现滚动条,应该始终使用overflow:hidden样式

The entry function: 在本例中,文件的主要代码是在页面加载时执行的条目方法。这是JavaScript代码,必须在JavaScript脚本元素中。任何mxGraph应用程序的第一行都应该检查是否支持浏览器,如果不支持,则退出。如果支持浏览器,则在div容器中创建一个mxGraph,并在开始/结束更新调用之间向图添加三个单元格。

if (!mxClient.isBrowserSupported())
{
mxUtils.error('Browser is not supported!', 200, false);//检查浏览器是否支持MxGraph
}
else{
}
  // Creates the graph inside the given container
var graph = new mxGraph(container); 在<div>嵌入graph容器
 
  • js是一个JavaScript文件,它结合了mxGraph的所有JavaScript源代码。从web服务器下载时,由于每个文件所需的请求/确认的开销,将所有JavaScript作为一个文件获得要比作为许多单独的文件快得多。速度的增加通常至少是x2,尽管它随着服务器的容量而变化,服务器可以在一个客户机上打开并行套接字。
  • JavaScript代码及其依赖项都放在head元素中。
  • 默认情况下,Internet Explorer启用了安全选项,当试图从本地文件系统运行JavaScript时,这些选项会导致用户提示。可以在options菜单中禁用此功能,但是请注意,从本地文件系统运行不是mxGraph的部署场景,这只会在开发期间发生
  • 您的应用程序可以在HTML文件中编写并链接到应用程序中,也可以在单独的JavaScript源代码中编写并链接到HTML中,就像示例中的mxClient.js文件一样

2 mxGraph Deployment and Debugging

有两个版本的mxclient.js文件,一个用于生产使用,另一个用于开发/调试。javascript/src/js/mxClient.js是产品版本,javascript/debug/js/mxClient.js是开发版本。第一个版本删除了所有换行,以确保文件尽可能小。这有破坏大多数JavaScript调试器的副作用。在开发过程中,建议您使用包含换行符的调试版本,以便在支持的浏览器中进行调试

两个mxClient.js文件都是mxGraph的整个JavaScript源文件,为了减小文件大小,删除了所有的空格和注释。在调试时,如果需要调试到mxGraph库本身,则使用单独的源文件更容易。mxGraph的源代码版本包含javascript/devel目录中的source.zip文件中的完整源代码。将其解压缩到mxBasePath并删除完整的mxClient.js文件的负载,可以更容易地调试mxGraph。注意,源zip中的mxclient.js文件是一个引导文件,它加载所有其他JavaScript源代码

通过压缩代码,可以进一步提高客户机源代码的下载速度。所有现代浏览器都支持接收和解压服务器端压缩的传输,所有优秀的web服务器都支持检测那些不支持它的浏览器,并将未压缩的版本作为回退发送。

例如,在Apache web服务器上有一个mod_deflate模块,它的使用细节可以通过标准搜索找到。jgraph.com服务器使用这个模块,在任何受支持的浏览器中都没有出现任何问题的报告。
压缩的使用将mxClient.js文件大小从大约600KB减小到大约130KB。在大多数现代网络中,用户不会注意到这种差异,但是在某些情况下,更小的版本可能更好。

Mxgraph的更多相关文章

  1. mxGraph实现按住ctrl键盘拖动图形实现复制图形功能

    实现这个功能很easy,仅仅须要重写moveCells方法就能够了.以下是源文件里的代码: mxGraph.prototype.moveCells = function(cells, dx, dy, ...

  2. mxGraph改变图形大小重置overlay位置

    要在改变图形大小的时候改变overlay的位置.那肯定就要对重置图形大小的方法进行改造了.以下是源文件里的代码 mxGraph.prototype.resizeCells = function(cel ...

  3. mxgraph进阶(四)mxGraph再启程

    mxgraph进阶(四)mxGraph再启程 前言   小论文Constructing User Interaction Behaviors Net from System Log. (AICE 20 ...

  4. mxgraph进阶(三)Web绘图——mxGraph项目实战(精华篇)

    Web绘图--mxGraph项目实战(精华篇) 声明     本文部分内容所属论文现已发表,请慎重对待. 需求 由于小论文实验需求,需要实现根据用户日志提取出行为序列,然后根据行为序列生成有向图的形式 ...

  5. mxgraph进阶(二)mxgraph的初步介绍与开发入门

    mxgraph的初步介绍与开发入门 前言 由于小论文实验需求,需要实现根据用户日志提取出行为序列,然后根据行为序列生成有向图的形式,并且连接相邻动作的弧上标有执行此次相邻动作的频次.为此,在大师兄徐凯 ...

  6. mxGraph进阶(一)mxGraph教程-开发入门指南

    mxGraph教程-开发入门指南 概述 mxGraph是一个JS绘图组件适用于需要在网页中设计/编辑Workflow/BPM流程图.图表.网络图和普通图形的Web应用程序.mxgraph下载包中包括用 ...

  7. mxGraph绘制流程图

    代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w ...

  8. mxGraph实现鱼骨图(因果图)(转自CSDN,链接附于文中)

    鱼骨图由日本管理大师石川馨先生所发明,故又名石川图.鱼骨图是一种发现问题“根本原因”的方法,它也可以称之为“Ishikawa”或者“因果图”.其特点是简捷实用,深入直观.它看上去有些象鱼骨,问题或缺陷 ...

  9. 【转】mxGraph教程-开发入门指南

    原文:https://blog.csdn.net/sunhuaqiang1/article/details/51289580 mxGraph教程-开发入门指南 概述 mxGraph是一个JS绘图组件适 ...

  10. mxGraph画图区域使用鼠标滚轮实现放大/缩小

    // 重写鼠标滚轮事件 mxEvent.addMouseWheelListener = function (funct) { } // 添加初次载入事件 window.onload = functio ...

随机推荐

  1. 设置VScode中console.log快捷键

    "Print to console": { "prefix": "log", "body": [ "conso ...

  2. Solution Set - 杭电多校 2022 Day2 一句话题解

    A:看了题就很容易想到虚树吧,建出虚树后考虑整体扫一遍虚树,注意到这是一棵根向树,那么统计其实十分简单,将对 \(C\) 类节点的标记下放,\(A,B\) 类节点同时上传,如果在 DFS 的过程中发现 ...

  3. Kubernetes 中审计策略--事件处理

    一.审计日志的策略 1.日志记录阶段 kube-apiserver 是负责接收及相应用户请求的一个组件,每一个请求都会有几个阶段,每个阶段都有对应的日志,当前支持的阶段有: RequestReceiv ...

  4. C/C++ 关键字 static 详细解析

    static关键字是一个修饰符,根const类似,被它修饰的变量和函数分别被称为静态变量和静态函数,根据修饰的对象的不同,static表现出来的作用也不同. 1. C语言中的 static 在C语言中 ...

  5. linux 防火墙管理

    1.查看防火墙状态指令 Firewall-cmd --state 2.关闭防火墙 service firewall stop 3.打开防火墙 service firewall start 4.重启防火 ...

  6. node中get和post接口

    接口传参 使用ajax请求向服务器接口传参,按http协议的约定,每个请求都有三个部分: 请求行: 保存了请求方式,地址,可以以查询字符串的格式附加一部分数据. 请求头:它可以附加很多信息,其中con ...

  7. Mardown学习

    Mardown学习 标题: 一级标题:'#'+'空格'+'标题名字'+'回车' 二级标题:'##'+'空格'+'标题名字'+'回车' 三级标题:'###'+'空格'+'标题名字'+'回车' 四级标题: ...

  8. cin和缓存区问题

    稍微记录一下今天刷题遇到的C++问题 看到使用while(cin >> s);来读取最后一个字符串.百度了一下发现cin以空格,制表符和回车为终止依据.也就是说我输入"abc 1 ...

  9. 1903021126 申文骏 Java 第七周作业 客户类测试

     项目  内容 课程班级博客链接 19级信计班(本) 作业要求链接 Java 第七周作业 博客名称 1903021126  申文骏  Java 第七周作业  客户类测试 要求 每道题要有题目,代码(使 ...

  10. linux 学习shell

    1. bash的父进程,子进程 [root@A~]# my_var=123[root@A~]# echo $my_var123[root@A~]# bash[root@A~]# [root@A~]# ...