Esempio n. 1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="JavascriptEngine"/> class.
        /// </summary>
        public JavascriptEngine()
        {
            this.jCtx = new Engine();
            IConfigurationUnitStore configStore = ConfigurationUnitStore.DefaultStore;
            var globalJavascripts = configStore?.ConfigValue("System.JavascriptGlobals");

            if (globalJavascripts?.Length > 0)
            {
                var scriptFiles = globalJavascripts.Split(',');
                foreach (string scriptName in scriptFiles)
                {
                    string fileName = configStore.FileNameForResourceName(scriptName);
                    Task.Run(async() =>
                    {
                        var content = await SimpleIoc.Default.GetInstance <IPlatformService>().StorageProvider.FileContents(fileName);
                        var script  = Encoding.UTF8.GetString(content, 0, content.Length);
                        this.jCtx.Execute(script);
                    });
                }
            }
        }