2.5.2 队伍里的骨干——mainframe页面

本文详细介绍了Mapframe页面在HTML生成中的作用,作为框架的核心,它负责加载和初始化地图。Mapframe使用模板生成内容,并定义了多个变量和函数供其他子框架调用。地图加载过程中,Mapframe根据URL参数创建地图并存储在服务器。此外,文章还讨论了基本网页布局的局限性,包括布局固定、命令执行方式单一和事件种类有限等问题。
摘要由CSDN通过智能技术生成

2.5.2          队伍里的骨干—— mainframe 页面

在生成 HTML 阶段, mainframe 页面会两次使用模板:第一次是生成页面主体中包含框架与框架集部分的 HTML 代码,这时如果用户选择使用工具栏,那么会采用 framesettaskbar 作为模板(这里模板是指 viewerfiles 下同名的 templ 模板文件,比如 framesettaskbar 指的是 viewerfiles 文件夹下的 framesettaskbar.templ 文件,以下同),否则会使用 framesetnotaskbar 模板;而另一次则是利用 mainframe 模板生成整个 mainframe 页面的内容。

我们可以利用 IE 中的“页面” -> “查看源文件”的方式查看 mainframe 页面的 HTML 代码,这里要注意的是,如果您使用的是网页中上下文菜单里的“查看源文件”,您看到的是这个子框架内的代码,而不是整个页面的代码。

我们可以看到,作为所有子框架的祖先框架, mainframe 定义了大量的变量和函数,来供自身和各个子框架调用。由于 mainframe 是整个框架中唯一一个读取网页布局( MgWebLayout )的页面,所以跟网页布局有关的所有变量都被放置在这个页面中。这里面一些比较重要的变量有:

1.       表示当前布局的变量,如 hasToolbar hasStatusBar hasTaskPane hasTaskbar 等,这些变量表示了当前网页布局中是否包含某一元素。这样,我们可以在界面上作出某些变动前先通过这些变量确定当前页面的布局状况。但是,由于实际是否显示某一页面元素取决于页面的框架是如何定义的,所以这些变量并不实际决定是否显示某一元素,而只是提供相关信息。所以,我们不应该改变这些变量的值。

2.       表示各元素中内容的变量,如表示页面中命令的 commands 、表示工具栏中各项的 toolbarItems 、表示任务栏中各项的 taskItems 和表示上下文菜单中各项的 ctxMenuItems 。这些变量都是数组,很多子框架就是通过访问 mainframe 中的这些变量来初始化自身的。比如,工具栏 tbFrame 在初始化的时候,会通过 parent.toolbarItems 来获取工具栏中包含多少工具栏项。

3.       表示资源的变量,如表示在任务窗格中默认显示的主页地址的 homePage 、当前网页布局的 webLayout 、当前地图定义的 mapDefinition

除此之外,网页中各框架的名字可以用来直接访问该框架,如 tbFrame

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值