hostenv_jsc.js
资源名称:oa.rar [点击查看]
上传用户:kimgenplus
上传日期:2016-06-05
资源大小:20877k
文件大小:3k
源码类别:
OA系统
开发平台:
Java
- /*
- Copyright (c) 2004-2006, The Dojo Foundation
- All Rights Reserved.
- Licensed under the Academic Free License version 2.1 or above OR the
- modified BSD license. For more information on Dojo licensing, see:
- http://dojotoolkit.org/community/licensing.shtml
- */
- /*
- * JScript .NET jsc
- *
- */
- dojo.hostenv.name_ = 'jsc';
- // Sanity check this is the right hostenv.
- // See the Rotor source code jscript/engine/globalobject.cs for what globals
- // are available.
- if((typeof ScriptEngineMajorVersion != 'function')||(ScriptEngineMajorVersion() < 7)){
- dojo.raise("attempt to use JScript .NET host environment with inappropriate ScriptEngine");
- }
- // for more than you wanted to know about why this import is required even if
- // we fully qualify all symbols, see
- // http://groups.google.com/groups?th=f050c7aeefdcbde2&rnum=12
- import System;
- dojo.hostenv.getText = function(uri){
- if(!System.IO.File.Exists(uri)){
- // dojo.raise("No such file '" + uri + "'");
- return 0;
- }
- var reader = new System.IO.StreamReader(uri);
- var contents : String = reader.ReadToEnd();
- return contents;
- }
- dojo.hostenv.loadUri = function(uri){
- var contents = this.getText(uri);
- if(!contents){
- dojo.raise("got no back contents from uri '" + uri + "': " + contents);
- }
- // TODO: in JScript .NET, eval will not affect the symbol table of the current code?
- var value = dj_eval(contents);
- dojo.debug("jsc eval of contents returned: ", value);
- return 1;
- // for an example doing runtime code compilation, see:
- // http://groups.google.com/groups?selm=eQ1aeciCBHA.1644%40tkmsftngp05&rnum=6
- // Microsoft.JScript or System.CodeDom.Compiler ?
- // var engine = new Microsoft.JScript.Vsa.VsaEngine()
- // what about loading a js file vs. a dll?
- // GetObject("script:" . uri);
- }
- /* The System.Environment object is useful:
- print ("CommandLine='" + System.Environment.CommandLine + "' " +
- "program name='" + System.Environment.GetCommandLineArgs()[0] + "' " +
- "CurrentDirectory='" + System.Environment.CurrentDirectory + "' " +
- "StackTrace='" + System.Environment.StackTrace + "'");
- */
- // same as System.Console.WriteLine
- // sigh; Rotor treats symbol "print" at parse time without actually putting it
- // in the builtin symbol table.
- // Note that the print symbol is not available if jsc is run with the "/print-"
- // option.
- dojo.hostenv.println = function(s){
- print(s); // = print
- }
- dojo.hostenv.getLibraryScriptUri = function(){
- return System.Environment.GetCommandLineArgs()[0];
- }
- dojo.requireIf((djConfig["isDebug"] || djConfig["debugAtAllCosts"]), "dojo.debug");