标签:cPage c style class blog code
procedure TIWForm1.IWAppFormCreate(Sender: TObject);
begin
  AddToInitProc(‘alert("欢迎")‘);  //其中的 js 代码最终会被 window.onload 调用
end;
procedure TIWForm1.IWAppFormCreate(Sender: TObject);
begin
  IWButton1.ScriptEvents.Values[‘onclick‘] := ‘alert(this.name)‘;  //这里的代码都应该很简单, 主要是函数调用
end;
{这在设计时更方便:}
 
//如果不是使用 js 文件, 就应该把 js 函数都写在 JavaScripts 属性中
procedure TIWForm1.IWAppFormCreate(Sender: TObject);
begin
  JavaScript.Text := ‘function MyFun1() {alert("TIWForm1.JavaScripts");}‘;
  IWButton1.ScriptEvents.Values[‘onclick‘] := ‘MyFun1()‘;
end;
{建议在设计时使用 JavaScripts 属性}
procedure TIWForm1.IWAppFormCreate(Sender: TObject);
begin
  JavaScriptOnce := ‘alert("JavaScriptOnce")‘;
end;
//PageContext 对象提供了更多插入方法, 下面几个只是我找到执行顺序的(下面次序就是我测试出的执行顺序) PageContext.JavaScript; PageContext.AddToJavaScriptOnce(); PageContext.AddToOnReady(); PageContext.AddToInitProc(); PageContext.AddToIWCLInitProc(); PageContext.AddToInitProcPageUnlockCode(); PageContext.AddToInitProcFocusCode(); PageContext.AddToInitProcNewWindowCode(); PageContext.AddToInitProcDoLastCode();
{在 TIWServerController 的 onCreate 事件中插入全站级的 js 链接}
procedure TIWServerController.IWServerControllerBaseCreate(Sender: TObject);
begin
  HTMLHeaders.Add(‘<script type="text/javascript" src="/My1.js"></script>‘);  //内链, 文件位于 wwwroot
  HTMLHeaders.Add(‘<script type="text/javascript" src="Http://.../My2.js"></script>‘); //外链, 全路径
end;
//注: wwwroot 是 IW 的默认根目录, js、css 和图片等等都应该放在其中; 可通过 IWServerController.ContentPath 读取其实际路径
{在窗体的 OnCreate 事件中插入页面级的 js 链接}
procedure TIWForm1.IWAppFormCreate(Sender: TObject);
begin
  PreHeader.Add(‘<script type="text/javascript" src="/My3.js"></script>‘);   //这个在前; 但在 IWServerController.HTMLHeaders 之后
  ExtraHeader.Add(‘<script type="text/javascript" src="/My4.js"></script>‘); //这个在后
end;
//注: 上面两个操作都可以在设计时.
//其实如果在 Head 中链接 js 或 css 应该使用 ContentFiles, 上面的嵌入方法跟适于...譬如:
procedure TIWServerController.IWServerControllerBaseCreate(Sender: TObject);
begin
  HTMLHeaders.Add(‘<meta name="Keywords" content="万一,Delphi,IntraWeb"/>‘);  //指定搜索关键字
end;
{站点级 - ServerController.pas}
procedure TIWServerController.IWServerControllerBaseCreate(Sender: TObject);
begin
  ContentFiles.Add(‘My1.js‘); //内链, 文件位于 wwwroot; 当然也可以外链
end;
{页面级 - Unit1.pas}
procedure TIWForm1.IWAppFormCreate(Sender: TObject);
begin
  ContentFiles.Add(‘My2.js‘);      //内链, 文件位于 wwwroot; 当然也可以外链
  ContentFiles.Add(‘MyJs/My3.js‘); //内链 wwwroot/MyJs/My3.js
end;
//ContentFiles 会自动转换为 Html 需要的格式, 所以很方便
procedure TIWForm1.IWAppFormCreate(Sender: TObject); begin PageContext.PreScriptFiles.Add(‘My4.js‘); PageContext.AddScriptFile(‘My5.js‘); end;
//未完待续
使用 IntraWeb (9) - JavaScript,布布扣,bubuko.com
标签:cPage c style class blog code
原文地址:http://www.cnblogs.com/del/p/3773748.html