dojo引用html模板,深入浅出dojo/request-本地HTML文件 带参数方案-遮罩层《一》_169IT.COM...

本文介绍了如何在APL平台和SCADA系统结合时,通过HTML积木和参数传递实现本地应用扩展,重点讲解了带参数的file协议处理方法,以及如何在幻灯片播放场景中应用。作者寻求简化解决方案并邀请开发者体验APL平台。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

笔者在APL(抽象编程语言)平台中,  已经完成把 APL平台的APIs桥接到 javascript中.  因此目前写 本地的HTML页面有两种方式:

1. 通过本地的Web服务器方式:    aplx文件方式,  这种写法类似php之类, 笔者在此不再叙述.

2. 以 file协议 打开HTML文件:

这种方式在 WebBrowser控件中是不能支持到 url地址带参数.  CEF中暂时没研究这个问题.

笔者目前重心在方式二,  以使本地应用能够 使用Web+APL平台开发,  扩展本地Web应用的能力.  因此考虑file协议带参数的解决方案,  大致描述如下:

1.  以SCADA画面封装 HTML积木 来实现 带初始化参数.

2. SCADA页面具备 地址中带参数能力.

3. SCADA页面的 初始化脚本中, 检查是否带 参数.

4. 如果Scada页面有初始化参数, 则在HTML积木中NavigateComplete后, 调用HTML的javascript传递参数.

具体应用举例:

本地目录的 幻灯片播放为例子:    scada:///aplPic/aplPic.sca?$initDir=E:/aplPublic/pic/电影电视

效果:

代码解析:

1. SCADA中代码片段:

function initPage()

{

extern $$scadaWnd ;

// 启动初始化后, 检查 sca的扩展参数.

$$scadaWnd->setTimeout( 0, "$$page->checkInitArgs();" ) ;

}

/// 检查初始化参数.

function checkInitArgs()

{

extern $initDir ;

extern $brickHtml ;

extern $$scadaWnd ;

// 如果有定义初始化目录.

if( isString($initDir)==true )

{

// 如果doc已经OK, 则执行脚本.

if( $brickHtml->getNavigateCompleteStatus()==true )

{

$initDir = getAplFullPath( $initDir ) ;

$this->setPath($initDir) ;

}

else

{

// 否则延迟检查.

$$scadaWnd->setTimeout( 50, "$$page->checkInitArgs();" ) ;

}

}

}

/// 设置路径.

function setPath( $path )

{

extern $brickHtml ;

$script = "_page.setPath( \"{$path}\" ) ; " ;

$script = replaceSubStrings( $script, "{$path}", $path ) ;

$brickHtml->executeScript( $script ) ;

}

2. HTML中相关代码片段.

/// 生成类: PagePic

function genPagePic()

{

/// 选择路径.

PagePic.prototype.setPath = function( path )

{

this._path = APL_getAplFullPath( path, "" ) ;

clearInterval(this._timer);

_page.readFiles(this._path) ;

this.randSelectPic();

this._timer=setInterval( randSelectPic, 5000 ) ;

}

}

笔者虽然觉得这样写比较罗嗦一点,  但暂时还没找到更简洁的解决方案.  当然这个仅仅是限于本地Web开发才有这个需求,  这个是APL平台的目标.

目前APL(抽象编程语言)平台还在alpha开发阶段,  作者希望更多的开发人员能够了解和喜欢APL(抽象编程语言)平台,  如果你想了解更多APL(抽象编程语言)平台的信息和体验一下

APL(抽象编程语言)平台中的开发和应用, 请在此文章后留下您的电邮, 作者会把此包发给您, 多谢!

更多APL(抽象编程语言)平台内容, 请参见作者博客:

smartfish_liu - 博客园

http://www.cnblogs.com/smartfishliu/

paul

2013-6-6

本文链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值