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. es 部署 进程、文件数 配置

    1.  /etc/security/limits.conf elasticsearch soft nofile 65536 elasticsearch hard nofile 65536 elasti ...

  2. Win10使用打印机0x0000011b错误 如何处理(没有KB5005565补丁如何解决??)

    1.排查问题 win10连接打印机共享错误显示0x0000011b怎么解决?很多用户在更新了windows系统的最新补丁后,突然发现自己打开打印机的时候提示"无法连接到打印机,错误为0x00 ...

  3. 简单友好的 Python 任务调度库

    schedule :https://github.com/dbader/schedule 该项目人性化的 API 设计,让开发者仅用几行代码就能轻松实现定时任务.它不依赖任何第三方库,全部代码也就一个 ...

  4. 微信小程序 - canvas实现多行文本 ,实现文本断行

    1.canvas绘制文本坑点 绘制的文本不管多长,永远只有一行,不会断行. 2.解决思路 根据每行文本字数来断行,超出的就向下排列. 由于 canvas绘制文本的语法如下: context.fillT ...

  5. 此平台不支持虚拟化的 Intel VT-x/EPT。不使用虚拟化的 Intel VT-x/EPT,是否继续?

    1.cpu虚拟化是否打开 2.Windows安全中心>设备安全性>内核隔离

  6. ASP.NET Core中使用日志组件NLog

    上一篇文章描述了如何在ASP.NET Core中使用Log4Net记录日志.本篇将使用另外一个组件NLog在ASP.NET Core中记录日志. 1.引入程序集 NLog.Web.AspNetCore ...

  7. 2022-04-12内部群每日三题-清辉PMP

    1.一个项目的成本绩效指数(CPI)为1.2,且关键路径上的一个可交付成果落后于进度. 如果项目经理将项目回正轨,项目会发生什么情况? A.活动将并行执行 B.范围将被修改 C.成本和风险将会增加 D ...

  8. chrome 请停用以开发者

    链接:https://pan.baidu.com/s/1YhWINGlUVyTE5XyBVIGW_Q 提取码:23t2 转载至   https://www.cnblogs.com/it-tsz/p/9 ...

  9. Coursera Programming Languages, Part B 华盛顿大学 Week 1

    来上 programming language 的第二 part 了!这一部分介绍的语言是 Racket,之前就听说过它独特的括号语法,这次来具体了解一下 Racket definitions, fu ...

  10. 华硕推出无风扇迷你电脑 PL64-明显是奔着软路由去的

    看这个配置,做客厅软路由再合适不过了.要是针对客厅的影音需求,CPU性能以及对大容量存储的刚需,这个还是有些欠缺. IT之家 12 月 17 日消息,华硕 PL 系列迷你电脑现已迎来最新一代机型,其中 ...