鸿 网 互 联 www.68idc.cn

本地HTML文件 带参数方案

来源:互联网 作者:佚名 时间:2013-07-04 09:40
笔者在APL(抽象编程语言)平台中, 已经完成把 APL平台的APIs桥接到 javascript中. 因此目前写 本地的HTML页面有两种方式: 1. 通过本地的Web服务器方式: aplx文件方式, 这种写法类似php之类, 笔者在此不再叙述. 2. 以 file协议 打开HTML文件: 这种方式在 WebBr

        笔者在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 - 博客园

 

paul

2013-6-6

香港空间美国服务器香港空间
网友评论
<