Пример #1
0
        public static void SpawnTo <T>(this Type alias, object[] KnownTypes, Action <T, IHTMLElement> h)
            where T : class, new()
        {
            if (KnownTypes == null)
            {
                throw new Exception("GetKnownTypes is null");
            }

            ScriptCoreLib.JavaScript.Native.Spawn(alias.Name,
                                                  i =>
            {
                if (i.nodeName == "SCRIPT")
                {
                    var tag  = (IHTMLScript)i;
                    var text = i.text;

                    if (tag.type == "text/xml")
                    {
                        var doc = IXMLDocument.Parse(text);

                        h(doc.Deserialize <T>(KnownTypes), i);
                    }
                    else if (tag.type == "text/json")
                    {
                        // reflection info will be lost here?

                        h((T)(object)Expando.FromJSON(text), i);
                    }
                }
            }
                                                  );
        }
Пример #2
0
        public static string CallFunction(this IHTMLEmbedFlash e, string method, string[] args)
        {
            var xml = new ScriptCoreLib.JavaScript.DOM.XML.IXMLDocument("invoke");

            xml.documentElement.setAttribute("name", method);
            xml.documentElement.setAttribute("returntype", "xml");

            var _arguments = xml.createElement("arguments");

            foreach (var item in args)
            {
                if (item == null)
                {
                    _arguments.appendChild(xml.createElement("null"));
                }
                else
                {
                    var _string = xml.createElement("string");

                    _string.appendChild(xml.createTextNode(item));

                    _arguments.appendChild(_string);
                }
            }
            xml.documentElement.appendChild(_arguments);

            var xml_string = xml.ToXMLString();

            var responseText = e.CallFunction(
                xml_string
                );

            var responseValue = IXMLDocument.Parse(responseText).documentElement.text;

            return(responseValue);
        }
Пример #3
0
        public static __XDocument Parse(string text)
        {
            var InternalValue = IXMLDocument.Parse(text);

            return(InternalValue);
        }