发明名称 Remotable contracts for the web
摘要 A “Remotable Contract Implementation”, as described herein, provides various techniques for implementing static type checking of remoted contracts across iframes using scripts such as TypeScript, JavaScript, AJAX, etc., thereby enabling structured data and rich patterns of control flow across iframe boundaries. The Remotable Contract Implementation enables the static type-checking over the limited browser postMessage channel of communication across iframes, by generating statically type-checked proxies at runtime based on dynamic reflection, and allowing for full fidelity of JavaScript control flow interactions (e.g. methods, events, asynchronous communications, etc.) over that channel. Further, in various embodiments, the Remotable Contract Implementation provides various methods that can be used to produce useful application context for otherwise isolated applications by providing access to particular browser resources or information that would otherwise be unavailable over the postMessage communication channel using conventional scripting techniques.
申请公布号 US9569292(B2) 申请公布日期 2017.02.14
申请号 US201313776520 申请日期 2013.02.25
申请人 Microsoft Technology Licensing, LLC 发明人 Portnoy Will;Ickman Steve;Laird-McConnell Tom
分类号 G06F17/22;G06F9/54;G06F9/44 主分类号 G06F17/22
代理机构 代理人 Wight Steve;Swain Cassandra T.;Minhas Micky
主权项 1. A computer-implemented process for communicating executable scripts between iframe boundaries, comprising: using a computer to perform process actions for: instantiating a browser application hosting at least two iframes and loading separate scripts containing structured control flow of a scripting language into two or more of the iframes;automatically transforming at least a portion of the scripts within one or more of the iframes to cause the transformed scripts within those iframes to generate one or more annotated serialized text messages representing corresponding structured control flow when the transformed scripts initiate corresponding actions within those iframes;using a postMessage channel of the browser to transmit each annotated serialized text message from its corresponding iframe to one or more of the other iframes; andwithin any iframe receiving any annotated serialized text message from any other iframe, deserializing that message and converting it back into the corresponding structured control flow for execution within the receiving iframe.
地址 Redmond WA US