TW200844856A - Dynamically loading scripts - Google Patents

Dynamically loading scripts Download PDF

Info

Publication number
TW200844856A
TW200844856A TW097108523A TW97108523A TW200844856A TW 200844856 A TW200844856 A TW 200844856A TW 097108523 A TW097108523 A TW 097108523A TW 97108523 A TW97108523 A TW 97108523A TW 200844856 A TW200844856 A TW 200844856A
Authority
TW
Taiwan
Prior art keywords
script
loader
web page
loading
web
Prior art date
Application number
TW097108523A
Other languages
Chinese (zh)
Inventor
Eilon J Lipton
Roy Bertrand Claude Le
Matthew E Gibbs
David Vincent Reed
Simon Calvert
Nikhil Kothari
Michael James Harder
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of TW200844856A publication Critical patent/TW200844856A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

The present invention extends to methods, systems, and computer program products for dynamically loading scripts. Web pages can include references to script loaders that control the loading of other scripts at a Web browser. A script loader can load scripts in accordance with script loading rules that override the default script loading behavior of the Web browser. Script loading rules can cause scripts to load in a different order than encountered in a Web pager, load in parallel, load in a manner that limits cross-domain requests, etc. Script loading rules are configurable such at that a developer can create customized script loading behavior.

Description

200844856 九、發明說明: 【發明所屬之技術領域】 本發明係關於動態载入腳本。 【先前技術】 Ο 電腦系統與相關科技會影響社會的許多層面。實-上,電腦系統處理資訊的能力已經改變了我們生活及工八 的方式。現在電腦系統經常執行在電腦系統發展之前人乍 執行的多種工作(例如文字處理、排程及會計等)。近年來x 電腦系統彼此結合,並結合其它電子裝置, A叫吋形成有 線及無線電腦網路,在其中該電腦系統與其它電子穿置η 傳遞電子資料。因此’許多運算工作的效能即分散到一 i 不同的電腦系統及/或一些不同的運算組件。 一種常用的以網路為基礎之通訊型式為在全球資訊網 (WWW,“Worldwide Web”)上交換電子訊息。在全球資气網 上的内容基本上係以一客戶端/伺服器模型來存取。一 戶 端電腦系統的「網頁瀏覽器」傳送一請求來存取由一祠服 器電腦系統的「網頁伺服器」所提供的内容(例如藉由輪入 一全球資源定位器(URL, “Uniform Resource Locator”)到 該網頁瀏覽器中)。如果網頁瀏覽器的使用者被授權存取該 内容,網頁伺服器基本上可提供該内容給該網頁劉覽器。 在一網頁環境中,内容及對於内容的請求時常使用超文字 輸送協定(HTTP,“Hypertext Transfer Protocol”)傳送。網頁 式的内容可於超文字審定語言(HTML,“HyperText Markup 200844856200844856 IX. Description of the invention: [Technical field to which the invention pertains] The present invention relates to a dynamic loading script. [Prior Art] 电脑 Computer systems and related technologies affect many aspects of society. In fact, the ability of computer systems to process information has changed the way we live and work. Computer systems nowadays often perform a variety of tasks (such as word processing, scheduling, accounting, etc.) performed before the development of computer systems. In recent years, x computer systems have been combined with each other and combined with other electronic devices, A has formed a wired and wireless computer network in which the computer system and other electronic devices pass through η to transmit electronic data. Therefore, the performance of many computing operations is spread across a different computer system and/or some different computing components. A common network-based communication format is the exchange of electronic messages on the World Wide Web (WWW, "Worldwide Web"). Content on the Global Assets Network is basically accessed as a client/server model. A "web browser" of a client computer system transmits a request to access content provided by a "web server" of a server computer system (eg by wheeling into a global resource locator (URL, "Uniform") Resource Locator") to the web browser). If the user of the web browser is authorized to access the content, the web server can basically provide the content to the web browser. In a web page environment, content and requests for content are often transmitted using Hypertext Transfer Protocol (HTTP, "Hypertext Transfer Protocol"). Web-based content is available in the hypertext validation language (HTML, "HyperText Markup 200844856

Language”)頁面、樣式板、影像、腳本等中提供。 之 網 頁 〇 是 〇 客 伺 得 域 額 網 到 表 相 器 10 料 資 端Language") provided in the page, style sheet, image, script, etc. The web page is the client's domain to the surface of the phase device 10 material

例如,腳本可用於執行比僅使用HTML指令所允許 更為複雜的作業。概言之,腳本為可執行碼,其可在一 頁伺服器處執行以加入内容到一頁面或可傳送下到一網 瀏覽器,用於在網頁瀏覽器處執行,以加入内容到一網頁 腳本可在一腳本(程式化)語言中開發,例如像 JavaScript、VB Script、 ASP、PHP、Perl 或 ASP .Net 一網頁伺服器可保持頁面,其中可同時包括伺服器側及 戶端側腳本。伺服器側腳本可用於取得可存取到一網頁 服器的資料來包括在一網頁中。客戶端側腳本可用於取 及呈現對於一客戶端機器為唯一的資料,例如像是一區 時間及日期。但是,亦可能有更為複雜的客戶端側腳本 例如像是自該網頁伺服器或其它網頁伺服器請求資料或 外腳本。 當一網頁伺服器接收包括伺服器側腳本之一網頁的 頁瀏覽器請求時,該網頁伺服器將該伺服器側腳本傳出 一適當的腳本引擎。該腳本引擎處理該腳本,並傳回代 該伺服器側腳本功能性之相對應的HTML指令。然後該 對應HTML指令即引入到一網頁中來傳回到該網頁瀏覽 (以及任何客戶端側腳本)。 例如,如果一伺服器側腳本經配置以查詢及傳回 個資料庫列,該腳本引擎以HTML格式傳回該1 0個資 庫列到該網頁伺服器。然後網頁伺服器引入代表該1 〇個 料庫列的HTML到任何其它HTML指令及網頁中的客戶 7 200844856 側腳本。在處理完所有伺服器側腳本之後,由處理該等伺 服器側腳本所得到的HTML、其它HTML及任何客戶端側 腳本即傳回到該網頁濁覽器。 客戶端側腳本可嵌入在網頁中,或可包含在一獨立檔 案中。當一客戶端側腳本包括在一外部檔案中時,一網頁 可包括一腳本參照(如 <script type = ” text/j_seript,, δΓ〇 hell〇 ·』s ></script>)來參照該腳本。客戶端側腳本及 〇 腳本參照可包括在傳送給一網頁瀏覽器之網頁内容中。因 / 此,當網頁劉覽器處理該網頁時,其可遇到嵌入式客戶端 側腳本以及對客戶端側腳本的腳本參照。 在遇到一嵌入式腳本時,該網頁瀏覽器可參照出一適 畐的腳本引擎來處理該腳本。在遇到一客戶端側腳本參照 時,該網頁瀏覽器可載入該參照的腳本(例如當已經快取該 腳本的一複本時)到該腳本引擎來進行處理,或其可自該網 頁伺服器請求該腳本。然後網頁伺服器傳回該腳本到該網 頁劇覽器’且該網頁瀏覽器可載入(且亦可能快取)該腳本 Q 到該腳本引擎進行處理。 網頁瀏覽器基本上假設一網頁中稍後遇到的任何腳本 係根據稍早在一網頁中遇到的腳本。因此,網頁瀏覽器基 本上一個接一個載入腳本,其順序為該等腳本在網頁内遇 到的順序。但是在許多網頁中,後續遇到的腳本並不根據 任何先前遇到的腳本。因此,不幸地是,且特別是對於具 有大量客戶端側腳本之網頁,一個接一個的載入相當沒有 效率。 8 200844856 再者,於開發一網頁時,一開發者可選擇來包括先前 開發的客戶端側腳本來使用客戶端側功能性。某種程度而 言,該開發者可假設先前的客戶端側腳本可依所想要的方 式運作。另外,該開發者會缺乏時間、需求或專業來完整 地測試任何先前開發的客戶端側腳本。然而,一或多個客 戶端側腳本在當展開該網頁時無法載入或運作。不幸地 是,如果有的話,典型的網頁瀏覽器(及其中的腳本引擎) 提供很少有用的内容,例如,指示該客戶端側腳本的狀況 無法回到該網頁開發者。因此,該網頁開發者會需要根據 客戶端側腳本失敗相關的不完整資訊記錄來針對該網頁進 行除錯。 【發明内容】 本發明關於動態載入腳本的方法、系統及電腦程式產 品。一網頁瀏覽器回應於來自該網頁瀏覽器對該網頁之請 求即自一網頁伺服器接收一網頁。該網頁包括對一腳本載 入器之參照。該腳本載入器經配置以在執行時建立佇列其 它腳本參照的一資料結構。該腳本載入器亦經配置以在由 網頁瀏覽器指示時根據腳本載入器規則動態地載入在該網 頁中參照的腳本,以覆蓋該網頁瀏覽器之預設腳本載入行 為。 網頁瀏覽器執行該腳本載入器。該腳本載入器建立佇 列腳本參照之一資料結構。該網頁瀏覽器處理該網頁來查 詢該資料結構中所包括該網頁中的任何腳本參照。該腳本 9 200844856 載入器利用包括該網頁的參照將腳本置於該佇列中。該網 頁瀏覽器偵測到在查詢包括在該網頁中任何的腳本參照之 後,在該網頁中並未包括其它腳本參照。For example, scripts can be used to perform more complex jobs than are allowed using only HTML directives. In summary, a script is an executable code that can be executed at a page server to add content to a page or can be transferred to a web browser for execution at a web browser to add content to a web page. Scripts can be developed in a scripted (programmed) language such as JavaScript, VB Script, ASP, PHP, Perl, or ASP.Net. A web server maintains pages, which can include both server side and client side scripts. The server side script can be used to obtain data that can be accessed to a web server to be included in a web page. The client side script can be used to retrieve and present material that is unique to a client machine, such as a zone time and date. However, there may be more complex client-side scripts such as requesting data or external scripts from the web server or other web server. When a web server receives a page browser request including a web page of one of the server side scripts, the web server sends the server side script out of an appropriate scripting engine. The script engine processes the script and returns the corresponding HTML instructions on behalf of the server side script functionality. The corresponding HTML command is then introduced into a web page to be passed back to the web page view (and any client side scripts). For example, if a server-side script is configured to query and return a library column, the script engine returns the 10 database columns to the web server in HTML format. The web server then imports the HTML representing the 1 column of the library into any other HTML command and the client 7 200844856 side script. After processing all of the server side scripts, the HTML, other HTML, and any client side scripts obtained by processing the server side scripts are passed back to the web page viewer. The client side script can be embedded in a web page or can be included in a separate file. When a client-side script is included in an external file, a web page may include a script reference (eg, <script type = " text/j_seript,, δΓ〇hell〇·』s ></script>) Referring to the script, the client side script and the script reference can be included in the web content transmitted to a web browser. As a result, when the web browser processes the web page, it can encounter the embedded client side script. And a script reference to the client side script. When encountering an embedded script, the web browser can refer to a suitable script engine to process the script. When encountering a client side script reference, the web page The browser can load the referenced script (eg, when a copy of the script has been cached) to the script engine for processing, or the script can be requested from the web server. The web server then returns the script Go to the web browser' and the web browser can load (and possibly cache) the script Q to the script engine for processing. The web browser basically assumes any foot encountered later in a web page. Based on scripts encountered earlier in a web page. Therefore, web browsers basically load scripts one by one in the order in which they appear within the web page. But in many web pages, subsequent encounters The script is not based on any previously encountered scripts. Therefore, unfortunately, and especially for web pages with a large number of client-side scripts, loading one after the other is quite inefficient. 8 200844856 Furthermore, in developing a web page At the same time, a developer can choose to include previously developed client-side scripts to use client-side functionality. To some extent, the developer can assume that previous client-side scripts can function as desired. In addition, the developer will lack the time, need, or expertise to fully test any previously developed client-side scripts. However, one or more client-side scripts cannot be loaded or run when the page is expanded. Unfortunately A typical web browser (and its scripting engine), if any, provides very little useful content, for example, indicating the client-side script. It is impossible to return to the webpage developer. Therefore, the webpage developer may need to debug the webpage according to the incomplete information record related to the client side script failure. [Summary of the Invention] The present invention relates to a method for dynamically loading a script. , a system and a computer program product. A web browser receives a web page from a web server in response to a request from the web browser for the web page. The web page includes a reference to a script loader. Configuring to create a data structure referenced by other scripts at execution time. The script loader is also configured to dynamically load scripts referenced in the web page according to script loader rules when instructed by the web browser To override the default script loading behavior of the web browser. The web browser executes the script loader. The script loader creates a data structure for the script reference. The web browser processes the web page to query any script references included in the web page included in the data structure. The script 9 200844856 loader places the script in the queue using a reference that includes the web page. The web browser detects that no other script references have been included in the web page after the query has included any script references included in the web page.

υ 指示該腳本載入器沒有其它的腳本參照之網頁瀏覽器 係包括在該網頁中。該腳本載入器自該網頁瀏覽器接收該 指示,代表在該指定的網頁中沒有其它的腳本參照。該腳 本載入器使得由該佇列的腳本參照所參照的腳本根據腳本 載入規則載入,以蓋過網頁瀏覽器之預設的腳本載入行 為。網頁瀏覽器包括在呈現該網頁時任何相關的腳本結果。 此摘要係用來介紹在一簡化型式中選出的觀念,其在 以下的實施方式中會進一步說明。此内容說明並非要提出 所主張標的之關鍵特徵或基本特徵,也並非要做為輔助決 定所主張標的之範疇。 本發明額外的特徵與優點將在以下的說明當中提出, 而部份將可由說明當中瞭解,或可由實施本發明來獲悉。 本發明的特徵與優點將藉由在後附申請專利範圍中特定指 出的元件及組合進行瞭解與得知。本發明這些與其它特徵 將藉由以下的說明及後附申請專利範圍更為暸解,或可由 此下提出之本發明的實施而得知。 【實施方式】 本發明關於動態載入腳本的方法、系統及電腦程式產 品。一網頁瀏覽器回應於來自該網頁瀏覽器對該網頁之請 求即自一網頁伺服器接收一網頁。該網頁包括對一腳本載 10 200844856 其 網 頁 1 ° 立 來 腳 列 腳 器 該 本 載 電 疇 含 讀 電 可 、 存网页 The web browser that indicates that the script loader has no other script references is included in the web page. The script loader receives the indication from the web browser indicating that there are no other script references in the specified web page. The script loader causes the script referenced by the script reference to be loaded according to the script loading rules to override the default script loading behavior of the web browser. The web browser includes any relevant script results when the web page is rendered. This summary is intended to introduce an idea selected in a simplified form, which is further described in the following embodiments. This content description is not intended to suggest key features or essential features of the claimed subject matter, nor is it intended to be in the scope of the claimed subject matter. The additional features and advantages of the invention are set forth in the description which follows, The features and advantages of the invention are apparent from the elements and combinations particularly pointed out in the appended claims. These and other features of the invention will be apparent from the description and appended claims. [Embodiment] The present invention relates to a method, system and computer program product for dynamically loading a script. A web browser receives a web page from a web server in response to a request from the web browser for the web page. The webpage includes a script for 10 200844856, its web page 1 °, the leg of the foot, the load cell, the read-up battery, and the memory.

入器之參照。該腳本載入器經配置以在執行時建立佇列 它腳本參照的一資料結構。該腳本載入器亦配置以在由 頁瀏覽器指示時根據腳本載入器規則動態地載入在該網 中參照的腳本,以覆蓋該網頁瀏覽器之預設腳本載入行為 該網頁瀏覽器執行該腳本載入器。該腳本載入器建 佇列腳本參照之一資料結構。該網頁瀏覽器處理該網頁 佇列該資料結構中包括在該網頁中的任何腳本參照。該 本載入器利用包括在該網頁中的參照將腳本置於該佇 中。該網頁瀏覽器偵測到在佇列包括在該網頁中任何的 本參照之後在該網頁中並未包括其它腳本參照。 指示該腳本載入器沒有其它的腳本參照之網頁瀏覽 係包括在該網頁中。該腳本載入器自該網頁瀏覽器接收 指示,代表在該指定的網頁中沒有其它的腳本參照。腳 載入器使得由該佇列的腳本參照所參照的腳本根據腳本 入規則載入,以蓋過網頁瀏覽器之預設的腳本載入行為 該網頁瀏覽器包括在呈現該網頁時任何相關的腳本結果 本發明的具體實施例可包含一特殊目的或通用之 腦,其包括電腦硬體,如以下的詳細說明。在本發明範 内之具體實施例亦包括電腦可讀取媒體,用於承載或包 儲存於其中的電腦可執行指令或資料結構。這種電腦可 取媒體可為任何可用的媒體,其可由一通用或特殊目的 腦進行存取。藉由範例(而非限制性),電腦可讀取媒體 包含實體(或可記錄式)電腦可讀取儲存媒體,例如RAM ROM、EEPROM、CD-ROM或其它光碟儲存元、磁碟儲 11 200844856 或其它磁性儲存裝置,或任何可用電腦可執行指令或資 結構型式儲存所想要的程式碼裝置之其它媒體,該媒體 可由一通用或特殊目的電腦進行存取。 在此說明及以下的申請專利範圍中,一 「網路」係 義為一或多個資料鏈結,其能夠在電腦系統及/或模組之 傳送電子資料。當資訊在一網路或其它通信連接(硬體 線、無線或一硬體連線或無線之組合)之上傳送或提供給 電腦時,該電腦可適當地視該連接為一電腦可讀取媒體 ί、 因此,藉由範例(而非限制),電腦可讀取媒體亦可包含 網路或資料鏈結,其可用於以電腦可執行指令或資料結 的型式承載或儲存所想要的程式碼裝置,並可由一通用 特殊目的電腦進行存取。 電腦可執行指令包含例如指令及資料,其可使得一 用電腦、特殊目的電腦或特殊目的處理裝置來執行某個 能或功能群組。該電腦可執行指令例如可為二元化、中 格式指令,例如組合語言或甚至原始碼。雖然該標的已 Q 以特定於結構化特徵及/或方法性步驟的語言來描述,其 瞭解到在後附申請專利範圍中所定義的標的並不必要地 制於上述之說明特徵或步驟。而是所描述的特徵與步驟 以實施該等申請專利範圍之範例型式來揭示。 本技藝專業人士將可瞭解本發明可實施於具有多種 腦系統組態之網路運算環境中,包括個人電腦、桌上型 腦、膝上型電腦、訊息處理器、掌上型裝置、多處理器 統、應用微處理器或可程式化消費電子產品、網路P C、 料 並 定 間 連 構 或 通 功 間 經 應 限 係 電 電 系 微 12 200844856 電腦、主機型電腦、行動電話、PDA、呼叫器等等。本發 明亦可實施於分散式系統環境中,其中透過一網路所鏈結 (不淪疋硬體連線資料鏈結、無線資料鏈結、或硬體連線及 無線資料鍵結之組合)之區域及遠端電腦系統皆可執行工 作。在为政式系統環境中,程式模組可以同時位於區域 及遠端記憶體儲存裝置中。 第1圖為構成動態載入腳本之示例性電腦架構10 〇。 0 如圖所示’電腦架構丨〇〇包括網頁瀏覽器1 〇丨、網頁伺服 器1 02及網路1 〇3。網頁瀏覽器i 〇 i及網頁伺服器丨〇2可 連接至網路103,例如像是區域網路(lan,“Local Area Network )、廣域網路(WAN,“Wide Area Network”)或甚至 網際網路。因此’網頁瀏覽器1 〇丨及網頁伺服器1 〇2之組 件可自連接至網路1 〇 3之其它組件接收資料並傳送資料到 該等組件。因此,這些組件皆可產生訊息相關的資料,並 交換訊息相關的資料(如網際網路協定(IP,,,Internet Protocol”)資料段及其它利用ip資料段之較高層協定,例 如網路上的傳輸控制協定(TCP,“Transmission Control Protocol”)、超文字傳輸協定(HTTP,“Hypertext Transfer Protocol”)、簡單郵件傳輸協定(SMTP,“Simple Mail Transfer Protocol”)等。例如,組件可交換HTTP請求及回 應,而簡單物件存取協定(SOAP,“Simple Object Access Protocol”)封包包含有網頁服務相關的資料。 概言之,網頁瀏覽器1 0 1經配置以請求(例如透過一 HTTP訊息到一指定的URL),並呈現來自網頁伺服器之網 13 200844856 頁式内容’例如像是網頁伺服器! 〇4,复 ’ ,、叩經由雜 存取。網頁式内容可包括文字資料、影像資料、音 資料、可執行碼(例如腳本)等。 概言之,網頁伺服器1 〇2經配置以接收網頁3 請求(例如一 HTTP訊息到一指定的url), * ) 亚得 的網頁式内容回到一發出請求的網頁瀏覽器。去緒 器1 02接收一凊求時,其可識別一伺服器側頁面, 於該請求(例如基於包含在該請求中一 URl來分诉 到一適當的程序)。然後網頁伺服器1〇6可Y 、 J戰入所諸 服器側頁面。 當該伺服器側頁面包括伺服器側腳本參照時, 服器106可傳送該參照的伺服器側腳本(例如八3 p 令)到一伺服器側腳本處理器來進行處理。該腳本卢 理該祠服器側腳本,並傳送任何相對應結2回到$ 器102。然後網頁伺服器1〇2在一網頁中可包1括兮 能在額外格式化之後),以及其它内容及任何客戶綠 (J 參照。然後網頁伺服器1 02傳回該網頁到請求的雜 器。 、’ 因此,例如其可以是網頁瀏覽器1 0 1傳送請求 HTTP GET)到網頁伺服器1〇1(藉由使用網頁飼服器 一適當URL)。網頁伺服器102可處理請求ln並 得相對應的内容(經由伺服器側腳本靜態或動態地 該相對應内容及任何客戶端側腳本參照可在網頁^ 回到網頁瀏覽器101(例如包含在一 H丁丁p訊息中)£ 3 路 103 訊/視訊 :内容的 ί所請求 0頁伺服 其對應 ^該請求 €別的伺 網頁伺 • Net 指 i理器處 i頁伺服 結果(可 ;側腳本 I頁瀏覽 .111(-;102 的 產生/取 存取)。 12中傳 >客戶端 14Reference to the device. The script loader is configured to create a data structure that is referenced by its script at execution time. The script loader is also configured to dynamically load a script referenced in the web according to a script loader rule when instructed by the page browser to override the default script loading behavior of the web browser. Execute the script loader. The script loader builds a list of script references to a data structure. The web browser processes the web page and lists any script references included in the web structure in the web page. The loader places the script in the UI using the references included in the web page. The web browser detects that no other script references are included in the web page after the bookmark includes any of the references in the web page. A web page browsing indicating that the script loader has no other script reference is included in the web page. The script loader receives an indication from the web browser indicating that there are no other script references in the specified web page. The foot loader causes the script referenced by the script reference to be loaded according to the script entry rule to override the default script loading behavior of the web browser. The web browser includes any relevant information when the web page is rendered. Script Results Specific embodiments of the invention may include a special purpose or general purpose brain, including computer hardware, as described in detail below. Particular embodiments within the scope of the present invention also include computer readable media for carrying or storing computer executable instructions or data structures stored therein. Such computer-accessible media can be any available media that can be accessed by a general or special purpose brain. By way of example, and not limitation, computer readable media includes physical (or recordable) computer readable storage media such as RAM ROM, EEPROM, CD-ROM or other optical storage unit, disk storage 11 200844856 Or other magnetic storage device, or any other medium that can store the desired code device using computer executable instructions or structures that can be accessed by a general purpose or special purpose computer. In the context of the description and the following claims, a "network" is defined as one or more data links that are capable of transmitting electronic data on a computer system and/or module. When the information is transmitted or provided to a computer over a network or other communication connection (hardware, wireless or a combination of hardware or wireless), the computer can appropriately view the connection as a computer readable Media ί, therefore, by way of example, not limitation, computer readable media may also include a network or data link that can be used to carry or store the desired program in the form of computer executable instructions or datagrams. The code device can be accessed by a general purpose special purpose computer. Computer-executable instructions include, for example, instructions and materials that enable a computer, special purpose computer, or special purpose processing device to perform an energy or group of functions. The computer executable instructions can be, for example, binary, medium format instructions, such as a combined language or even a source code. Although the subject matter has been described in language specific to structural features and/or methodological steps, it is understood that the subject matter defined in the scope of the appended claims is not necessarily described. Rather, the described features and steps are disclosed to carry out the exemplary embodiments of the scope of the claims. Those skilled in the art will appreciate that the present invention can be implemented in a network computing environment having a variety of brain system configurations, including personal computers, desktop computers, laptop computers, message processors, handheld devices, multiprocessors. System, application microprocessor or programmable consumer electronics, network PC, material and inter-construction or intercommunication should be limited to the electric system micro 12 200844856 computer, host computer, mobile phone, PDA, pager and many more. The invention can also be implemented in a decentralized system environment, through a network link (not a hardware connection data link, a wireless data link, or a combination of a hardware connection and a wireless data bond) Both regional and remote computer systems can perform work. In a political system environment, the program modules can be located in both the regional and remote memory storage devices. Figure 1 shows an exemplary computer architecture 10 that constitutes a dynamic load script. 0 As shown in the figure, 'Computer Architecture' includes Web Browser 1 网页, Web Server 102 and Network 1 〇 3. The web browser i 〇i and the web server 丨〇 2 can be connected to the network 103, such as a local area network (lan, "Local Area Network", wide area network (WAN, "Wide Area Network") or even the Internet. Therefore, the components of 'Web Browser 1 and Web Server 1 可 2 can receive data from other components connected to Network 1 〇 3 and transmit data to these components. Therefore, these components can generate message related information. Information, and exchange of information related to the information (such as the Internet Protocol (IP),) and other higher-level agreements that use the ip data segment, such as the Transmission Control Protocol over the Internet (TCP, "Transmission Control" Protocol"), Hypertext Transfer Protocol (HTTP, "Hypertext Transfer Protocol"), Simple Mail Transfer Protocol (SMTP, "Simple Mail Transfer Protocol"), etc. For example, components can exchange HTTP requests and responses, and simple object access protocols (SOAP, "Simple Object Access Protocol") packet contains information related to web services. In summary, web browser 1 0 1 Configured to request (eg, via an HTTP message to a specified URL) and present the web page from the web server 13 200844856 page content 'eg such as web server! 〇 4, complex', 叩 access. Web-based content may include textual material, video material, audio material, executable code (eg, script), etc. In summary, web server 1 〇 2 is configured to receive web page 3 requests (eg, an HTTP message to a specified url) ), * ) Yade's web content returns to a requesting web browser. When the Detacher 102 receives a request, it can identify a server side page for the request (e.g., based on a UR1 included in the request to subscribe to an appropriate program). The web server 1〇6 can then enter the server side page. When the server side page includes a server side script reference, the server 106 can transmit the referenced server side script (eg, eight 3 p commands) to a server side script processor for processing. The script Lukes the server side script and passes any corresponding knots back to $102. Then the web server 1〇2 can be packaged in a web page to be able to be formatted after additional formatting, as well as other content and any client green (J reference. Then the web server 102 returns the web page to the requesting messenger , ' So, for example, it can be a web browser 1 0 1 transfer request HTTP GET) to the web server 1〇1 (by using a web page feeder with an appropriate URL). The web server 102 can process the request ln and corresponding content (either statically or dynamically via the server side script, the corresponding content and any client side script reference can be returned to the web browser 101 on the web page ^ (eg, included in a H Ding Ding p message) £ 3 way 103 news / video: the content of the ί request 0 page servo its corresponding ^ the request of the other server page servo • Net refers to the i page servo results (can; side script I Page browse. 111 (-; 102 generation / access). 12 relay > client 14

200844856 側腳本參照可參照儲存在網頁伺服器1 0 2處多個不 (例如在腳本1 2 2中)之中的腳本,例如像是在一大 裝置的目錄結構中或一組件(例如一動態鏈結肩 “Dynamic link library”))等,或可參照在其它網頁 處的腳本。然後網頁伺服器1 02回應於請求1 1 1即 頁1 1 2回到網頁瀏覽器1 0 1。 當網頁瀏覽器1 0 1接收一網頁時,其可分配該 多個部份經配置以處理該網頁之部份的模組。因此 頁瀏覽器1 0 1接收網頁1 1 2、靜態内容,例如像是 容 113,其可被配置到呈現模組 10 6。任何腳4 JavaScript、VB script等)或腳本參照,例如像是腳 1 08R,其可配置到一適當的腳本處理器,例如像是 理器1 0 7。先前在網頁瀏覽器1 0 1處執行的腳本可 大量儲存元1 〇 9處,例如像是在快取1 5 8中。因此 於接收一客戶端側腳本參照,網頁瀏覽器1 0 1可經 1 0 3或自快取1 5 8而自一網頁伺服器(其可以是傳送 端側腳本參照的網頁伺服器也可以不是)取得該相 戶端側腳本。 腳本處理器1 0 7可執行腳本,並傳回任何得到 (如果有的話)到呈現模組1 06。例如,腳本處理器 傳回結果1 5 4到呈現模組1 0 6。呈現模組1 0 6可呈 在使用者介面104。例如,呈現模組106可在使用 104處呈現頁面資料156。呈現模組106可呈現所接 容,使得一網頁的某些部份(例如靜態内容)可在一 同位置 量儲存 (DLL, 伺月艮器 傳送網 網頁的 ,當網 靜態内 .(例如 本參照 腳本處 儲存在 ,回應 由網路 該客戶 對應客 的内容 107可 現資料 者介面 收的内 網頁的 15200844856 The side script reference can refer to the script stored in the web server 102 at multiple (for example, in the script 1 2 2), for example, in a directory structure of a large device or a component (for example, a dynamic Chain "Dynamic link library")), etc., or refer to scripts at other web pages. The web server 102 then returns to the web browser 1 0 1 in response to the request 1 1 1 ie page 1 1 2 . When the web browser 101 receives a web page, it can allocate a plurality of modules that are configured to process portions of the web page. Therefore, the page browser 1 0 1 receives the web page 1 1 2, and the static content, such as the content 113, can be configured to the presentation module 106. Any foot 4 JavaScript, VB script, etc.) or script reference, such as pin 1 08R, can be configured to an appropriate script processor, such as, for example, processor 107. The script previously executed at the web browser 101 can store a large number of bits 〇 9, for example, in the cache 158. Therefore, in order to receive a client-side script reference, the web browser 1 0 1 can be accessed from a web server via the 1 0 3 or self-cache 1 5 8 (the web server that can be referred to by the transmitting side script may not be ) Obtain the side-end script. The script processor 107 executes the script and returns any (if any) to the presentation module 106. For example, the script processor returns the result 1 5 4 to the presentation module 1 0 6 . The presentation module 106 can be presented to the user interface 104. For example, presentation module 106 can present page material 156 at usage 104. The presentation module 106 can present the content so that certain parts of a webpage (for example, static content) can be stored in the same location (DLL, webpage, webpage static, etc.) (for example, this reference) The script is stored in the response to the online webpage of the user's corresponding content of the client's corresponding content.

200844856 其它部份之前來呈現(例如腳本結果)。 第2圖為一用於動態載入腳本之示例性方法2 0 0 程圖。方法200將參考電腦架構1 00中的組件及資料 說明。 方法2 0 0包括自一網頁伺服器接收一網頁的步驟 應於自該網頁瀏覽器請求該網頁,該網頁即傳送到該 瀏覽器(步驟 2 0 0)。該網頁在執行時包括一參照經配 建立佇列其它腳本參照之資料結構的一腳本載入器。 本載入器亦在由網頁瀏覽器指示時經配置以根據腳本 器規則動態地載入在該網頁中參照的腳本,以覆蓋該 瀏覽器之預設腳本載入行為。 例如,網頁瀏覽器101回應於請求 m可接收 1 1 2。網頁1 1 2包括參照到腳本載入器腳本1 0 8 S之腳 入器參照1 0 8 R。腳本載入器腳本1 0 8 S在執行時經配 建立一資料結構,其用於佇列在網頁1 1 2中其它腳 照,例如像是1 2 4 R、1 3 4 R及1 4 4 R。腳本載入器腳本 亦在由網頁瀏覽器1 0 1指示時經配置以根據腳本載入 1 1 8動態地載入在網頁1 1 2中所參照的腳本。腳本載 則Π 8可蓋過網頁瀏覽器1 0 1之預設的腳本載入行為 腳本載入規則1 1 8可包括用於在網頁瀏覽器1 0 1 入腳本之邏輯及政策。因此,腳本載入器108可套用 載入規則1 1 8到佇列1 1 6中客戶端側腳本參照,以建 本載入順序 1 5 3。腳本載入規則邏輯可包括用於列舉 列1 1 6中包括的客戶端側腳本參照之演算法。例如, 的流 加以 ,回 網頁 置以 該腳 載入 網頁 網頁 本載 置以 本參 1 08S 規則 入規 〇 處載 腳本 立腳 在佇 腳本 16 200844856 載入規則1 1 8可列舉參照124R、134R、144R等。 來自所列舉的客戶端側腳本參照,其它的腳本載入規 則邏輯可包括演算法來識別相對應參照的腳本到另一個及 /或到其它外部資源的相關性。例如,可執行腳本載入規則 之腳本載入器108,可決定腳本134S根據腳本124S,且 腳本 144S並不相關於任何其它腳本。來自所列舉的客戶 端側腳本參照,其它腳本載入規則邏輯可包括演算法來識 別包括跨網域請求之腳本。例如,腳本載入器1 08可執行 腳本載入規則來決定除了網頁伺服器丨〇 2之外的伺服器有 多少請求’以在當執行所參照的腳本時所發生。 其它腳本載入規則邏輯可包括演算法,用於識別所參 照的腳本之其它特性及/或之間的關係。腳本載入規則邏輯 亦可延伸’使得開發者可開發他們本身的腳本載入規則邏 輯’以識別在一網頁中所參照的腳本之特性及/或之間的關 係。另外,一開發者可修正既有的腳本載入規則邏輯,以 為了 特疋目的而客製化該腳本载入規則邏輯。 ◎ 腳本載入規則政策指示基於該等列舉的腳本之特性及 /或之間的關係來载人列舉的參照腳本。腳本載人規則政策 可被套用到在佇列116中列舉的腳本參照來以一特定的順 序載入相對應的腳本。—腳本载人順序可基於所識別之腳 本相關性以及其它腳本關係及特性來指示。 在一些具體實施例中,腳本載入規則政策以不同於該 參照的腳本出現在一網頁中的順序的一指定的順序來載入 列舉的參照腳本(非順序性載人)。例如,可以是腳本參照 17 200844856 124R、134R及144R依該順序包括在網頁112中。也 說,參照124R接近於網頁112的頂部,且參照144R 於網頁1 1 2之底部。但是,腳本載入規則政策可指示 134S係要在腳本124S及144S之前被載入,即使參照 在參照1 3 4R之前接收。再者,腳本載入規則政策可 腳本144S要在腳本124S之前載入,即使參照124R 照144R之前接收。 在其它具體實施例中,腳本載入規則政策被套用 行地載入所列舉的參照腳本(平行載入)。例如,腳本 規則政策可指示腳本124S及144S係要平行地載入, 腳本124S並不根據腳本144S,而腳本144S並不根據 124S。 在其它具體實施例中,腳本載入規則政策被套用 入所列舉的腳本,其方式為限制同步跨網域請求到一 網域的數目。例如,腳本載入規則政策可指示腳本要 順序被載入,該順序限制同步請求到除了網頁伺服器 之外的網頁伺服器之數目到一指定的闊值。 腳本載入規則政策亦可延伸,使得開發者可開發 本身的腳本載入規則來以一指定的方式載入腳本。另 一開發者可修正既有的腳本載入規則政策,以為了一 目的而客製化腳本載入規則政策。例如,除了順序地 腳本之外,腳本載入規則政策可指示腳本係為了給定 知相關性組合來平行地載入。 腳本載入器1 〇 8亦可將一腳本載入順序公式化時 就是 接近 腳本 124R 指示 在參 來平 載入 因為 腳本 來載 指定 以一 102 他們 外, 特定 載入 的已 考慮 18 200844856 個別的瀏覽器特性,這些腳本即適當地載入在一瀏覽 境内。例如,腳本載入器108在將腳本載入順序153 化時考慮瀏覽器種類1 5 1 (並可知道瀏覽器種類1 5 1之 載入特性)。 在一些具體實施例中,腳本載入規則11 8為硬體 到腳本载入器1 0 8中。藉此在這些具體實施例中客製 本載入規則1 1 8,一開發者可修正腳本載入器1 0 8之 p 碼來為了一特定目的客製化腳本載入規則118(且藉此 製化腳本載入1 0 8)。在其它具體實施例中,腳本載入器 在外部存取腳本載入規則118。因此在這些其它具體 例中客製化腳本載入規則11 8時,一開發者可修正該 存取的腳本載入規則 1 1 8,以為了一特定目的客製化 載入規則1 1 8。 腳本載入器108可提供API用於聯繫瀏覽器101 本處理器1 0 7。 方法2 00包括一步驟,其執行該腳本載入器來建 〇 資料結構來佇列腳本參照(步驟202)。例如,腳本處 107可載入腳本載入器108來建立佇列116。腳本載入 照108R可被包含在同一線上而靠近(或位在)網頁112 部。因此,更有可能腳本載入器參照l〇8R為遇到的 參照。由於網頁劉覽器101之預設行為(例如依序載 本)’腳本處理器1 0 7可在任何其它腳本或腳本參照之 理腳本載入态參照1 〇 8 r。因此,處理腳本參照1 〇 8 s 入腳本載入器108基本上啟動腳本載入行為,其可覆 器環 公式 腳本 編碼 化腳 原始 亦客 108 實施 外部 腳本 及腳 立一 理器 器參 的頂 第一 入腳 前處 來載 蓋網 19 200844856 頁劇覽器1 0 1之預設腳本載入行為。 方法200包括一步驟’其建立配置以儲存腳本參照的 Ο Ο 一佇列(步驟2 〇 3 )。例如,腳本載入器1 〇 8可建立佇列丨丨6, 以健存客戶端腳本參照在網頁U2中。方法2〇〇包括一步 驟’其處理該網頁來佇列包括在該網頁中任何腳本參照在 該資料結構中(步驟204) ’及一步驟,其將包括在一指定 網頁中的腳本參照存在於該佇列(步驟2〇5)。例如,網頁 瀏覽裔1 0 1及腳本載入器1 0 8可互操作來處理網頁Η 2, 並儲存佇列參照124R、134R及144R在佇列116中。 方法200包括一步驟,其偵測到在佇列包括在該網頁 中任何腳本參照在該資料結構中之後並無其它腳本參照包 括在該網頁中(步驟206)。例如,網頁瀏覽器1〇1可偵測 到參照124R、13411及144R被佇列到佇列116中之後並無 其它腳本參照包括在該網頁1 1 2中。 方法200包括一步驟,其指示該腳本載入器中在該網 頁中並無包括其它的腳本參照(步驟2〇7)。指示並無包含 其它參照使得該腳本載入器根據該腳本載入規則動態地載 入對應於該佇列的腳本參照之腳本 器之預設的腳本載入行為。例如, 自網頁1 1 2的所有參照已經仔列到仔列^ 佇列處理指示器丨52到腳本載入器1〇7。 152可使得腳本載入器1〇8來根據腳本载 地载入佇列在佇列1 1 6中的腳本。 ’藉以覆蓋該網頁瀏覽 網頁瀏覽器101在當來 16中時,可傳送 佇列處理指示器 入規則1 1 8動態 方法200包括一步驟 其接收來自該網頁瀏覽器的指 20 200844856 示,其中在該指定的網頁中並未包括其它腳本參照(步驟 2 0 8)。例如,腳本載入器1 0 8可自網頁瀏覽器1 〇 1接收佇 列處理指示器1 5 2。方法2 0 0包括一步驟,其使得由該仔 列腳本參照所參照的腳本根據腳本載入規則來載入,以覆 蓋該網頁瀏覽器之預設腳本載入行為(步驟2 0 9)。例如, 腳本載入器108可使得腳本124S、134S及144S,以及網 頁Π 2中其它參照的腳本,要根據腳本載入規則1 1 8載入, 以覆蓋網頁瀏覽器1 0 1之預設腳本載入行為。 腳本載入順序1 5 3共同代表載入於網頁1 1 2中所參照 之腳本的順序。在一些具體實施例中,腳本處理器及腳本 載入器1 0 8進行聯繫來協調腳本的實際載入。例如,腳本 載入器108可傳送一指令到腳本處理器1〇7來載入一或多 個腳本。當載入該一或多個腳本時,腳本處理器1〇7可指 示該一或多個腳本係要載入到腳本載入器1 〇 8。然後腳本 載入器108可傳送另一個指令來载入其它一或多個腳本到 腳本載入器108。當載入其它的一或多個腳本時,腳本處 理器1〇7可指示其它一或多個腳本被載入到腳本載入器 1 0 8中。一類似的機制可發生,直到載入網頁丨丨2中的腳 本參照。 因此,腳本載入器108及腳本處理器1〇7可互操作來 以在網頁1 1 2中遇到之不同的順序來載入腳本,以平行地 載入複數個腳本,及以限制同步跨網域請求等的方式載入 腳本。腳本载入器108亦可使得腳本被載入的方式不會違 反網頁瀏覽器101之腳本載入特性(基於瀏覽器種類151)。 21 200844856 一些載入的腳本可產生包括在網頁112中的内容。結 果1 5 4共同地代表於網頁瀏覽器1 〇 1處執行的客戶端側腳 本所傳回的任何内容。腳本處理器1 〇 7可傳回結果1 5 4到 呈現模組106。方法200包括一步驟,其包括造成呈現該 網頁之任何相關的腳本結果(步驟 2 1 0)。例如,呈現模組 1 0 6可在頁面資料1 5 6 (代表網頁11 2之資料)中包括結果 154。呈現模組106可在使用者介面1〇4處呈現頁面資料 156 ° 因此,本發明的具體實施例可在啟始與載入關於客戶 端側腳本載入的事件之前的時間點進行載入腳本。一腳本 載入器參照可傳送回到一網頁瀏覽器,以在一些不同的案 例中進行此行為。 在一具體實施例中,一腳本載入器參照在當對一網頁 應用之初始請求為一 HTTP GET時即傳回到一網頁瀏覽 器。一腳本載入器參照包含在一傳回的網頁之頂部的同一 條線上,例如像是:〈script src= &quot;ScriptLoader.js” /&gt; 一腳本載入器即對該網頁應用來建立及註冊,例如像 是:200844856 Other parts were presented before (eg script results). Figure 2 is an exemplary method for dynamically loading a script. Method 200 will refer to the components and data descriptions in computer architecture 100. Method 200 includes the step of receiving a web page from a web server requesting the web page from the web browser, the web page being transmitted to the browser (step 200). The web page includes, when executed, a script loader that references a data structure that is configured to reference other scripts. The loader is also configured, when instructed by the web browser, to dynamically load the script referenced in the web page in accordance with the script rules to override the browser's default script loading behavior. For example, web browser 101 may receive 1 1 2 in response to request m. Page 1 1 2 includes reference to the script loader script 1 0 8 S The input refers to 1 0 8 R. The script loader script 1 0 8 S is configured to create a data structure for listing other footsteps in the web page 1 1 2, such as 1 2 4 R, 1 3 4 R, and 1 4 4 R. The script loader script is also configured, when instructed by the web browser 1 0 1 , to dynamically load the script referenced in web page 1 1 2 based on the script load 1 1 8 . The script load Π 8 can override the default script loading behavior of the web browser 1 0 1 The script loading rule 1 1 8 can include the logic and policy for entering the script in the web browser 1 0 1 . Therefore, the script loader 108 can apply the client side script reference in the load rule 1 1 8 to the queue 1 16 to create the load order 1 5 3. The script loading rules logic may include an algorithm for enumerating the client side script references included in column 161. For example, the stream is sent back to the web page and the foot is loaded into the webpage. This page is loaded with the parameters of the 11 08S rule. The script is placed in the script. 16 200844856 Loading rules 1 1 8 can be cited as reference 124R, 134R, 144R and so on. From the enumerated client side script references, other script loading rules logic may include algorithms to identify the relevance of corresponding referenced scripts to another and/or to other external resources. For example, a script loader 108 that can execute script loading rules can determine that script 134S is based on script 124S, and script 144S is not related to any other script. From the enumerated client side script references, other script loading rules logic may include algorithms to identify scripts that include cross-domain requests. For example, the script loader 108 can execute script loading rules to determine how many requests the server other than the web server 丨〇 2 to occur when executing the referenced script. Other script loading rules logic may include algorithms for identifying other characteristics and/or relationships between the scripts being referenced. The script loading rules logic can also be extended 'to enable developers to develop their own script loading rules logic' to identify the characteristics and/or relationships between the scripts referenced in a web page. In addition, a developer can modify existing script loading rules logic to customize the script loading rules logic for special purposes. ◎ The Script Load Rule Policy indicates the reference scripts enumerated based on the characteristics and/or relationships of the listed scripts. The script manned rules policy can be applied to the script references listed in queue 116 to load the corresponding scripts in a specific order. - The script maneuver sequence can be indicated based on the identified script dependencies and other script relationships and characteristics. In some embodiments, the script loading rules policy loads the enumerated reference scripts (non-sequential manned) in a specified order different from the order in which the referenced scripts appear in a web page. For example, script reference 17 200844856 124R, 134R, and 144R may be included in web page 112 in this order. Also, reference 124R is near the top of web page 112, and reference 144R is at the bottom of web page 112. However, the script loading rule policy may indicate that the 134S is to be loaded before the scripts 124S and 144S, even if the reference is received prior to the reference 1 3 4R. Furthermore, the script loading rule policy can be loaded by script 144S before script 124S, even if it is received before 124R is referenced to 144R. In other embodiments, the script loading rules policy is applied to the enumerated reference scripts (parallel loading). For example, the script rule policy may indicate that scripts 124S and 144S are to be loaded in parallel, script 124S is not based on script 144S, and script 144S is not based on 124S. In other embodiments, the script loading rule policy is applied to the enumerated scripts by limiting the number of simultaneous cross-domain requests to a domain. For example, the script load rule policy may indicate that the scripts are to be loaded sequentially, which limits the number of synchronization requests to web servers other than the web server to a specified threshold. The script loading rules policy can also be extended to allow developers to develop their own script loading rules to load scripts in a specific way. Another developer can modify the existing script loading rules policy to customize the script loading rules policy for a purpose. For example, in addition to sequential scripting, the script loading rules policy may indicate that the scripts are loaded in parallel for a given correlation combination. Script Loader 1 〇8 can also be used to formulate a script loading sequence when it is close to the script 124R. The instructions are loaded in the slab. Because the script is loaded with a 102, they are specifically loaded. 18 200844856 Individual browsing Attributes, these scripts are properly loaded into a browser. For example, the script loader 108 considers the browser type 1 5 1 when the script loading order is 153 (and can know the loading characteristics of the browser type 157). In some embodiments, the script loading rules 118 are hardware to the script loader 108. Thus, in these specific embodiments, the custom loading rule 181 can be modified by a developer to modify the p-code of the script loader 1 0 8 to customize the script loading rule 118 for a specific purpose (and thereby The script is loaded 1 0 8). In other embodiments, the script loader externally accesses the script loading rules 118. Therefore, in the case of customizing the script loading rules 187 in these other specific examples, a developer can modify the script loading rules 1 1 8 of the access to customize the loading rules 1 1 8 for a specific purpose. The script loader 108 can provide an API for contacting the browser 101 with the processor 107. Method 200 includes a step of executing the script loader to construct a data structure to queue a script reference (step 202). For example, script location 107 can load script loader 108 to create queue 116. The script load 108R can be included on the same line and close to (or in) the web page 112. Therefore, it is more likely that the script loader refers to l〇8R as the reference encountered. Due to the default behavior of the web browser 101 (e.g., sequential load), the script processor 107 can refer to 1 〇 8 r in any other script or script reference script loading state. Therefore, the processing script refers to 1 〇 8 s into the script loader 108 to basically start the script loading behavior, and the overlayable loop formula scripts the encoding primitives to the original guest 108 to implement the external script and the top of the processor The first step in front of the landing net 19 200844856 page projector 1 0 1 preset script loading behavior. The method 200 includes a step 'which establishes a configuration to store a list of script references (step 2 〇 3 ). For example, the script loader 1 〇 8 can create a queue 丨丨 6 to reference the live client script in the web page U2. Method 2 includes a step of 'processing the web page to include any script references in the web page in the data structure (step 204)' and a step that will include a script reference in a specified web page present in This queue (step 2〇5). For example, web browsing 1 01 and script loader 108 can interoperate to process web page 2 and store queue references 124R, 134R, and 144R in queue 116. The method 200 includes a step of detecting that no script references are included in the web page after any of the script references in the web page are included in the web page (step 206). For example, web browser 1.1 detects that references 124R, 13411, and 144R are queued into queue 116 and no other script references are included in the web page 112. The method 200 includes a step of indicating that the script loader does not include other script references in the web page (steps 2-7). The indication does not include other references such that the script loader dynamically loads the default script loading behavior of the script reference script corresponding to the queue according to the script loading rules. For example, all references from the web page 1 12 have been queued to the queue processing indicator 丨 52 to the script loader 1 〇 7. 152 may cause the script loader 1 to load the scripts listed in the queue 1 16 according to the script load. 'By covering the web page browsing web browser 101 in the current 16 , the transmit queue processing indicator is entered into the rule 1 1 8 The dynamic method 200 includes a step of receiving the finger 20 200844856 from the web browser, wherein No other script references are included in the specified web page (step 2 0 8). For example, the script loader 1 0 8 can receive the queue processing indicator 1 5 2 from the web browser 1 〇 1. The method 2000 includes a step of loading the script referenced by the script script in accordance with the script loading rules to override the default script loading behavior of the web browser (step 2 0 9). For example, the script loader 108 can cause the scripts 124S, 134S, and 144S, as well as other referenced scripts in the web page 2, to be loaded according to the script loading rule 1 1 8 to override the default script of the web browser 1 0 1 Loading behavior. The script loading order 1 5 3 collectively represents the order of the scripts referenced in the web page 1 1 2 . In some embodiments, the script processor and script loader 108 contact to coordinate the actual loading of the script. For example, script loader 108 can send an instruction to script processor 1〇7 to load one or more scripts. When the one or more scripts are loaded, the script processor 1〇7 can indicate that the one or more scripts are to be loaded into the script loader 1 〇 8. The script loader 108 can then pass another instruction to load the other one or more scripts into the script loader 108. When loading one or more other scripts, script processor 1〇7 may instruct other one or more scripts to be loaded into script loader 108. A similar mechanism can occur until the script reference in page 2 is loaded. Thus, the script loader 108 and the script processor 1〇7 are interoperable to load scripts in a different order encountered in the web page 1 12 to load a plurality of scripts in parallel, and to limit synchronization across The script is loaded in a way such as a domain request. The script loader 108 can also cause the script to be loaded in a manner that does not violate the script loading characteristics of the web browser 101 (based on browser type 151). 21 200844856 Some loaded scripts can generate content that is included in web page 112. The result 1 5 4 collectively represents any content returned by the client side script executed at the web browser 1 〇 1. The script processor 1 〇 7 can return the result 1 5 4 to the presentation module 106. The method 200 includes a step that includes causing any relevant script results for presenting the web page (step 2 1 0). For example, the presentation module 106 may include the result 154 in the page material 156 (representing the material of the web page 11 2). The presentation module 106 can present the page material 156 at the user interface 1-4. Thus, embodiments of the present invention can load the script at a point in time prior to initiation and loading of events related to client-side script loading. . A script loader reference can be passed back to a web browser to perform this behavior in a number of different cases. In one embodiment, a script loader reference is passed back to a web browser when the initial request to a web page application is an HTTP GET. A script loader reference is included on the same line at the top of a returned web page, for example: <script src= &quot;ScriptLoader.js" /&gt; A script loader is applied to the web page to create and Registration, for example like:

Sys.Application.set_scriptLoader( new Sys.ScriptLoaderQ); // this·一loader.add_allScriptsLoaded (Sys.Application.set_scriptLoader( new Sys.ScriptLoaderQ); // this·a loader.add_allScriptsLoaded (

This._allScriptsLoadedDelegate); 腳本參照,包括參照、共線腳本、及管理程式,其皆 22 200844856 佇列到該腳本載入器中。如前所述,腳本可由多個不同位 置載入。因此,腳本可由顧客庫載入,例如像是: Sypplication.queueScriptReference(f/ CustomScript.js1);This._allScriptsLoadedDelegate); script references, including references, collinear scripts, and hypervisors, all of which are listed in the script loader. As mentioned earlier, scripts can be loaded from multiple different locations. Therefore, the script can be loaded by the customer library, for example: Sypplication.queueScriptReference(f/ CustomScript.js1);

Sys. Application· queueScriptReference( (&quot;Sys.Application.add一init ( $create(Custom.UI.Control,{},{},{},$get(T)) );Sys. Application·QueueScriptReference( (&quot;Sys.Application.add-init ( $create(Custom.UI.Control,{},{},{},$get(T)) );

Sys. Application. initialize(); 然後該註冊的腳本載入可被指示來載入其已經佇列的 腳本參照,例如像是:Sys. Application. initialize(); Then the registered script load can be instructed to load the script reference it has queued, for example like:

Sys.Application.get__scriptLoader().set_scriptLoadTimeOut(n) Sys.Application.get scriptLoader().loadScripts(); 該腳本載入器可在當已經載入所有腳本時指示給該網 頁應用。 在另一具體實施例中,一腳本載入器參照在一非同步 HTTP POST到一網頁應用中傳回到一網頁瀏覽器。在此其 它具體實施例中,一腳本載入可以已經建立,且一請求f 理者對於所載入的腳本掛上一事件。因此即可發生註冊, 例如像是:Sys.Application.get__scriptLoader().set_scriptLoadTimeOut(n) Sys.Application.get scriptLoader().loadScripts(); This script loader can be used to indicate to the web page application when all scripts have been loaded. In another embodiment, a script loader refers to a web browser in a non-synchronous HTTP POST to a web application. In this other embodiment, a script load can be established and a request handler can hang an event for the loaded script. So registration can happen, for example like:

Sys.Application.get一 scriptLoader(). add_allScriptsLoaded(PRM._allScriptsLoadedDelegate); 然後腳本參照可利用内部腳本載入器被佇列。此包&amp; 腳本參照、共線腳本及任何管理程式。因此,腳本可由雇貝 23 200844856 客庫載入,例如像是:Sys.Application.get a scriptLoader(). add_allScriptsLoaded(PRM._allScriptsLoadedDelegate); The script reference can then be queued using the internal script loader. This package &amp; script reference, collinear script and any management program. Therefore, the script can be loaded by the guest library 23 200844856, for example like:

Sys. Application. queueScriptReference(V CustomScript.js ?);Sys. Application. queueScriptReference(V CustomScript.js ?);

Sys. Application. queueScriptReference( (f,Sys.Application.add_init ( $create(Custom.UI.Control,{},{},{},$get(T)) ); 該註冊的腳本載入器即被指示來載入其腳本參照, ^ 如像是: Ο .Sys. Application. queueScriptReference( (f,Sys.Application.add_init( $create(Custom.UI.Control,{},{},{},$get(T)) ); The registered script loader is Instruct to load its script reference, ^ as if: Ο .

Sys .Application· get 一 scriptLoader(). loadS cripts(); 在任一具體實施例中以及其它前述具體實施例中, 頁面或組件開發者能夠經由API及一腳本載入器之宣告 語法在一網頁瀏覽器處定義載入腳本之行為。然後該腳 官理者產生使用一客戶端側腳本處理器之輸出。 額外的腳本相關的功能性亦可包括在一腳本載入 中。例如’一腳本載入器可配置於寫入任何腳本載入錯 到一記錄檔案中。腳本載入錯誤可包括:到時、相關性 ◎ 决、貝源錯誤等。關於一腳本載入錯誤的相關内文式資 亦可在當發生一腳本载入錯誤時被寫入到該記錄檔案中 Λ錄;U案可儲存在一位置處,其可存取到一頁面或組 開發者你j % ’在於網頁瀏覽器⑻處偵測到腳本載入 =、、腳本载入益1 〇 8可儲存記錄1 5 7到網路1 〇 3内一 路位置一開發者可存取來自該網路位置的記錄丨5 7, 輔助測試及/或除_ _太.χ XI示錯腳本载入器108以及其它腳本。 f發明可實施成其它特定的型 其皆不悖離本發 例 式 本 器 誤 錯 訊 〇 件 錯 網 以 明 24Sys .Application· get a scriptLoader(). loadS cripts(); In any of the specific embodiments and other foregoing specific embodiments, the page or component developer can browse the web page via the API and a script loader's declaration syntax. The behavior of loading the script is defined at the device. The footer then generates output using a client side script processor. Additional script-related functionality can also be included in a script load. For example, a script loader can be configured to write any script load error into a record file. Script loading errors can include: time to date, relevance ◎ decision, source error, etc. The relevant textual information about a script loading error can also be written to the record file when a script loading error occurs; the U case can be stored at a location, which can access a page. Or group developer you j % 'in the web browser (8) detected script loading =,, script loading benefits 1 〇 8 can store records 1 5 7 to the network 1 〇 3 all the way to a developer can save Take the record from the network location 丨 5 7, auxiliary test and / or divide _ _ too. XI XI error script loader 108 and other scripts. f invention can be implemented into other specific types. It does not deviate from the present example. The error of this device is wrong.

200844856 之精神或基本特性。上述的具體實施例在各個態樣 視為例示性而非限制性。因此本發明的範疇係由後 專利範圍所指示,而非由前述的說明。所有在申請 圍之同等性下的意義與範圍内之改變皆要涵蓋在其 内〇 【圖式簡單說明】 為了說明可以取得本發明上述及其它優點與特 法,上述簡短說明之本發明的更為特定之說明將參 屬圖式中所例示的特定具體實施例來呈現。請暸解 式所示僅為本發明之典型的具體實施例,因此不應 範疇的限制,本發明將藉由使用附屬圖式利用額外 容及細節來加以描述與解釋。 第1圖為構成動態載入腳本之示例性電腦架構 第2圖為用於動態載入腳本之示例性方法的流 中皆應 附申請 專利範 範疇之 徵的方 考在附 這些圖 視為其 特定内 程圖。The spirit or basic characteristics of 200844856. The specific embodiments described above are considered as illustrative and not restrictive. The scope of the invention is therefore indicated by the scope of the following claims rather than the foregoing description. All changes and meanings within the scope of the application are intended to be encompassed within the scope of the invention. [Simplified Description of the Drawings] In order to explain that the above and other advantages and special features of the present invention can be obtained, the above described short description of the present invention is more The specific embodiments illustrated in the drawings are presented for the specific description. The present invention is intended to be illustrative only and not a Figure 1 is an exemplary computer architecture that constitutes a dynamic loading script. Figure 2 is a diagram of an exemplary method for dynamically loading a script. Specific internal map.

【主要元件符號說明】 100 電 腦 架 構 106 網 頁 伺 服 器 101 網 頁 瀏 覽 器 107 腳 本 處 理 器 102 網 頁 伺 服 器 108 腳 本 載 入 器 103 網 路 108S 腳 本 載 入 器腳 104 使 用 者 介 面 1 08S 腳 本 參 昭 104 網 頁 伺 服 器 1 08R 腳 本 參 昭 106 呈 現 模 組 109 大 量 儲 存 元 25 200844856 111 請求 1 34R 腳本參照 112 網頁 144S 腳本 113 靜態内容 144R 腳本參照 114 腳本參照 151 瀏覽器種類 116 佇列 152 佇列處理器指示器 118 腳本載入規則 153 腳本載入順序 121 腳本 154 結果 122 腳本 156 頁面資料 124S 腳本 157 記錄 124R 腳本參照 158 快取 134S 腳本 Ο 26[Main component symbol description] 100 computer architecture 106 web server 101 web browser 107 script processor 102 web server 108 script loader 103 network 108S script loader foot 104 user interface 1 08S script reference 101 webpage Server 1 08R Script Reference 106 Presentation Module 109 Mass Storage Element 25 200844856 111 Request 1 34R Script Reference 112 Web Page 144S Script 113 Static Content 144R Script Reference 114 Script Reference 151 Browser Type 116 伫 152 伫 Column Processor Indicator 118 Script Load Rules 153 Script Load Order 121 Script 154 Result 122 Script 156 Page Data 124S Script 157 Record 124R Script Reference 158 Cache 134S Script Ο 26

Claims (1)

200844856 十、申請專利範圍: 1. 一種在一網頁瀏覽器動態載入腳本之方法,其係用在 連接至一網路的電腦系統,該電腦系統包括在該電腦 系統處配置以呈現網頁之該網頁瀏覽器,該方法包含 下列步驟:200844856 X. Patent Application Range: 1. A method for dynamically loading a script in a web browser, which is used in a computer system connected to a network, the computer system including the web system configured to present the web page A web browser, the method includes the following steps: 自一網頁伺服器接收一網頁,該網頁回應於來自 該網頁瀏覽器對該網頁之一請求而傳送到該網頁瀏覽 器,該網頁包括供一腳本載入器使用之一參照,該腳 本載入器配置以在執行時建立一用於佇列其它腳本參 照之資料結構,該腳本載入器亦配置以在得到來自該 網頁瀏覽器的一指示時,根據腳本載入規則動態地載 入在該網頁中參照的腳本,以覆蓋該網頁瀏覽器之預 設腳本載入行為; 執行該腳本載入器來建立一佇列腳本參照之資料 結構; 處理該網頁以在該資料結構中佇列被包括在該網 頁中的任何腳本參照; 偵測到:在該資料結構佇列任何包括在該網頁中 的腳本參照之後,並無其它腳本參照包括在該網頁中; 指示該腳本載入器並無其它腳本參照包括在該網 頁中,藉此使得該腳本載入器根據該腳本載入規則動 態地載入對應於該佇列的腳本參照之腳本,以覆蓋該 網頁瀏覽器之預設的腳本載入行為;及 在該網頁的一呈現中包括任何相關的腳本結果。 27 200844856 2 · 如申請專利範圍第1項所述之方法,另包含下列步驟: 在自該網頁伺服器接收該網頁之前,傳送一 HTTP GET到該網頁伺服器。 3 · 如申請專利範圍第1項所述之方法,另包含下列步驟: 傳送一非同步HTTP POST到該網頁伺服器。 4. 如申請專利範圍第1項所述之方法,其中自一網頁伺 服器接收一網頁的步驟包含下列步驟:Receiving a web page from a web server, the web page being transmitted to the web browser in response to a request from the web browser for the web page, the web page including a reference for use by a script loader, the script loading Configuring to establish a data structure for indexing other script references at execution time, the script loader is also configured to dynamically load the instructions according to the script loading rules when an indication from the web browser is obtained a script referenced in the webpage to override a default script loading behavior of the web browser; executing the script loader to establish a data structure of the script reference; processing the webpage to include in the data structure Any script reference in the web page; detecting: after the data structure queues any script references included in the web page, no other script references are included in the web page; indicating that the script loader has no other a script reference is included in the web page, thereby causing the script loader to dynamically load a script reference corresponding to the queue according to the script loading rule Script to script the cover web browser to load the preset behavior; and includes any relevant script results in a rendering of the page. 27 200844856 2 · The method of claim 1, further comprising the step of: transmitting an HTTP GET to the web server before receiving the web page from the web server. 3 · The method of claim 1, further comprising the steps of: transmitting a non-synchronous HTTP POST to the web server. 4. The method of claim 1, wherein the step of receiving a web page from a web server comprises the steps of: Ο 接收一網頁,其在該網頁的頂部包括一腳本載入 器參照。 5. 如申請專利範圍第1項所述之方法,其中指示該腳本 載入器並無其它腳本參照包括在該網頁中藉此使得該 腳本載入器動態載入腳本之步驟包含下列步驟: 指示該腳本載入器並無其它腳本參照包括在該網 頁中,藉此使得該腳本載入器以於該等腳本在該網頁 中遇到的順序之一不同順序載入腳本。 6. 如申請專利範圍第1項所述之方法,其中指示該腳本 載入器並無其它腳本參照包括在該網頁中藉此使得該 腳本載入器動態載入腳本之步驟包含: 指示該腳本載入器並無其它腳本參照包括在該網 頁中,藉此使得該腳本載入器平行地載入複數個腳本。 7. 如申請專利範圍第1項所述之方法,其中指示該腳本 載入器並無其它腳本參照包括在該網頁中藉此使得該 腳本載入器動態載入腳本之步驟包含: 指示該腳本載入器並無其它腳本參照包括在該網 28 200844856 頁中,藉此使得該腳本載入器載入腳本之方式可限制 該等請求的數目於任何給定網域。 8. 如申請專利範圍第1項所述之方法,其中指示該腳本 載入器並無其它腳本參照包括在該網頁中藉此使得該 腳本載入器動態載入腳本之步驟包含: 指示該腳本載入器並無其它腳本參照包括在該網 頁中,藉此使得該腳本載入器載入腳本之方式可蓋過 該網頁瀏覽器之預設的載入行為。接收 Receive a web page that includes a script loader reference at the top of the web page. 5. The method of claim 1, wherein the step of indicating that the script loader has no other script reference included in the web page thereby causing the script loader to dynamically load the script comprises the following steps: The script loader has no other script references included in the web page, thereby causing the script loader to load the script in a different order than the ones the scripts encountered in the web page. 6. The method of claim 1, wherein the step of indicating that the script loader has no other script reference included in the web page to cause the script loader to dynamically load the script comprises: indicating the script The loader has no other script references included in the web page, thereby causing the script loader to load a plurality of scripts in parallel. 7. The method of claim 1, wherein the step of indicating that the script loader has no other script reference included in the web page to cause the script loader to dynamically load the script comprises: indicating the script The loader has no other script references included in the web page 28, page 44856, whereby the way the script loader loads the script can limit the number of such requests to any given domain. 8. The method of claim 1, wherein the step of indicating that the script loader has no other script reference included in the web page to cause the script loader to dynamically load the script comprises: indicating the script The loader has no other script references included in the web page, thereby enabling the script loader to load the script in a manner that overrides the default loading behavior of the web browser. L) 9. 一種配置以動態載入在一網頁中參照的腳本之腳本載 入器,其係用在連接至一網路的電腦系統處,該電腦 系統包括配置以在該電腦系統呈現網頁之一網頁瀏覽 器,其中該腳本載入器係藉由執行下列步驟來覆蓋該 網頁瀏覽器之預設的腳本載入行為,包含: 建立經配置以儲存腳本參照之一佇列; 將包括在一指定網頁中的腳本參照置於該佇列; 自該網頁瀏覽器接收一指示,其指示在該指定的 網頁中沒有包括其它的腳本參照;及 使得由該佇列的腳本參照所參照的腳本根據腳本 載入規則載入,以覆蓋該網頁瀏覽器之預設的腳本載 入行為。 10. 如申請專利範圍第9項所述之腳本載入器,另包含下 列步驟: 在使得該腳本被載入之前,列舉在該佇列中該等 腳本參照,藉以建構一腳本參照列表。 29 200844856 11. 如申請專利範圍第10項所述之腳本載入器,另包含下 列步驟: 識別對應於包含在該腳本參照之列表中的腳本參 照之腳本;及 決定是否有任何識別的腳本係彼此相關。 12. 如申請專利範圍第10項所述之腳本載入器,另包含下 列步驟: 識別至少一腳本係根據至少一個其它腳本。L) 9. A script loader configured to dynamically load a script referenced in a web page for use at a computer system connected to a network, the computer system including a configuration to render a web page in the computer system a web browser, wherein the script loader overwrites a preset script loading behavior of the web browser by performing the following steps, comprising: establishing a queue configured to store a script reference; Specifying a script reference in the specified webpage to be placed in the queue; receiving an indication from the web browser indicating that no other script reference is included in the specified webpage; and causing the script referenced by the script to refer to the script based on The script loading rules are loaded to override the default script loading behavior of the web browser. 10. The script loader of claim 9 of the patent application, further comprising the steps of: constructing a script reference list by listing the script references in the queue before the script is loaded. 29 200844856 11. The script loader of claim 10, further comprising the steps of: identifying a script corresponding to a script reference included in the list of script references; and determining whether there is any identified script system Related to each other. 12. The script loader of claim 10, further comprising the steps of: identifying at least one script based on at least one other script. ϋ 1 3 .如申請專利範圍第1 0項所述之腳本載入器,另包含下 列步驟: 識別包括跨網域請求之腳本。 1 4.如申請專利範圍第9項所述之腳本載入器,其中使得 腳本根據腳本載入規則載入之步驟包含: 以與腳本在該網頁中遇到的順序不同的一順序來 載入該等腳本。 1 5 ,如申請專利範圍第9項所述之腳本載入器,其中使得 腳本根據腳本載入規則載入之步驟包含下列步驟:平 行地載入複數個腳本。 1 6.如申請專利範圍第9項所述之腳本載入器,其中使得 腳本根據腳本載入規則載入之步驟包含下列步驟··以 限制同步請求的數目到任何給定範圍之方式載入腳 本。 1 7.如申請專利範圍第9項所述之腳本載入器,其中使得 腳本根據腳本載入規則載入之步驟包含下列步驟:以 30 200844856 蓋過該網頁瀏覽器之連續載入行為的方式載入腳本。 1 8.如申請專利範圍第9項所述之腳本載入器,其中使得 腳本根據腳本載入規則載入之步驟包含下列步驟:基 於該等參照的腳本之特性及該等參照腳本之間的關係 來載入腳本。 1 9 . 一種電腦系統,該電腦系統包含: 一或多個處理器; 系統記憶體; 一或多個電腦可讀取媒體,其上已經儲存代表一 網頁瀏覽器之電腦可執行指令,其在於該等處理器之 一處執行時使得該網頁瀏覽器配置以: 自一網頁伺服器接收一網頁,該網頁回應於 來自該網頁瀏覽器對該網頁之一請求而傳送到該 網頁瀏覽器,該網頁包括一參照,其參照到代表 一腳本載入器之一電腦可執行指令,該腳本載入 器在執行時配置以建立用於佇列其它腳本參照之 一資料結構,該腳本載入器亦在由該網頁瀏覽器 指示時配置以根據腳本載入規則動態地載入在該 網頁中參照的腳本,以覆蓋該網頁瀏覽器之預設 腳本載入行為; 執行該腳本載入器的電腦可執行指令,以建 立用於佇列腳本參照之一資料結構; 處理該網頁,以在該資料結構中佇列包括在 該網頁中的任何腳本參照; 31 200844856 偵測到:在該資料結構佇列任何包括在該網 頁中的腳本參照之後,並無其它腳本參照包括在 該網頁中; 指示該腳本載入器並無其它腳本參照被包括 在該網頁中,藉此使得該腳本載入器根據該腳本 載入規則動態地載入對應於該佇列的腳本參照之 腳本,以覆蓋該網頁瀏覽器之預設的腳本載入行 為;及ϋ 1 3 . The script loader described in claim 10, further includes the following steps: Identify scripts that include cross-domain requests. 1 4. The script loader of claim 9, wherein the step of loading the script according to the script loading rule comprises: loading in a different order than the script encounters in the web page. These scripts. 1 5 . The script loader of claim 9, wherein the step of loading the script according to the script loading rule comprises the steps of: loading a plurality of scripts in parallel. 1 6. The script loader of claim 9, wherein the step of loading the script according to the script loading rule comprises the following steps: loading the number of synchronization requests to any given range script. 1 7. The script loader of claim 9, wherein the step of loading the script according to the script loading rule comprises the steps of: overwriting the continuous loading behavior of the web browser by 30 200844856 Load the script. 1 8. The script loader of claim 9, wherein the step of loading the script according to the script loading rule comprises the steps of: characterizing the script based on the reference and the reference script Relationship to load the script. 1 9. A computer system comprising: one or more processors; system memory; one or more computer readable media having stored thereon computer executable instructions representing a web browser, Executing, at one of the processors, the web browser is configured to: receive a web page from a web server, the web page being transmitted to the web browser in response to a request from the web browser for the web page, The web page includes a reference to a computer executable instruction representing one of the script loaders, the script loader being configured to establish a data structure for indexing other script references, the script loader also Configuring, when instructed by the web browser, to dynamically load a script referenced in the webpage according to a script loading rule to override a default script loading behavior of the web browser; the computer executing the script loader may Executing instructions to establish a data structure for the reference script; processing the web page to include in the data structure Script Reference; 31 200844856 Detected: After the data structure lists any script references included in the web page, no other script references are included in the web page; indicating that the script loader has no other script references included In the webpage, the script loader is configured to dynamically load a script reference script corresponding to the queue according to the script loading rule to cover a preset script loading behavior of the web browser; and 在執行代表該腳本載入器之電腦可執行指令時, 將代表該腳本載入器之可執行指令儲存到系統記憶體 中,其在該等處理器之一處執行時,使得該腳本載入 器經配置以: 建立配置以儲存腳本參照的一佇列; 將包括在一指定網頁中的腳本參照置於該佇 列; 自該網頁瀏覽器接收一指示,其指示在該指 定的網頁中沒有其它的腳本參照;及 使得由該佇列的腳本參照所參照的腳本根據 腳本載入規則載入,以覆蓋該網頁瀏覽器之預設 的腳本載入行為。 2 0.如申請專利範圍第1 9項所述之電腦系統,其中該腳本 根據腳本載入規則被載入,以基於該等參照的腳本之 特性及該等參照的腳本之間的關係來覆蓋該網頁瀏覽 器之該預設的連續腳本載入行為。 32When executing a computer executable instruction representing the script loader, the executable instructions representing the script loader are stored in system memory, and when executed at one of the processors, the script is loaded The device is configured to: establish a configuration to store a list of script references; place a script reference included in a specified web page in the queue; receive an indication from the web browser indicating that there is no such specified web page Other script references; and the script referenced by the script reference of the queue is loaded according to the script loading rule to override the preset script loading behavior of the web browser. The computer system of claim 19, wherein the script is loaded according to a script loading rule to cover based on a relationship between the characteristics of the referenced scripts and the scripts of the referenced scripts. The preset continuous script loading behavior of the web browser. 32
TW097108523A 2007-04-27 2008-03-11 Dynamically loading scripts TW200844856A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/741,095 US7689665B2 (en) 2007-04-27 2007-04-27 Dynamically loading scripts

Publications (1)

Publication Number Publication Date
TW200844856A true TW200844856A (en) 2008-11-16

Family

ID=39888608

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097108523A TW200844856A (en) 2007-04-27 2008-03-11 Dynamically loading scripts

Country Status (7)

Country Link
US (1) US7689665B2 (en)
EP (1) EP2153344B1 (en)
JP (1) JP4682270B2 (en)
CN (1) CN101669114B (en)
BR (1) BRPI0810079A2 (en)
TW (1) TW200844856A (en)
WO (1) WO2008134162A1 (en)

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8069438B2 (en) * 2007-06-08 2011-11-29 Apple Inc. Class declaration in a non-class-based programming environment
US8079025B2 (en) * 2007-06-08 2011-12-13 Apple Inc. Asynchronous load of source dependencies
US8132152B2 (en) * 2007-06-08 2012-03-06 Apple Inc. Extending a scripting language to provide an object hierarchy
US8432400B1 (en) * 2008-12-02 2013-04-30 Adobe Systems Incorporated Transitional animation for generating tree maps
US20100169457A1 (en) * 2008-12-26 2010-07-01 International Business Machines Corporation Social user script service by service proxy
JP2011065489A (en) * 2009-09-17 2011-03-31 Sony Corp Information processing apparatus, data display method, and program
US8713424B1 (en) 2009-11-04 2014-04-29 Google Inc. Asynchronous loading of scripts in web pages
US10721269B1 (en) 2009-11-06 2020-07-21 F5 Networks, Inc. Methods and system for returning requests with javascript for clients before passing a request to a server
US11140178B1 (en) * 2009-11-23 2021-10-05 F5 Networks, Inc. Methods and system for client side analysis of responses for server purposes
US8849847B2 (en) * 2010-02-03 2014-09-30 Get Smart Content, Inc. Rules-based targeted content message serving systems and methods
US8949711B2 (en) * 2010-03-25 2015-02-03 Microsoft Corporation Sequential layout builder
US8977955B2 (en) * 2010-03-25 2015-03-10 Microsoft Technology Licensing, Llc Sequential layout builder architecture
US9049247B2 (en) 2010-04-01 2015-06-02 Cloudfare, Inc. Internet-based proxy service for responding to server offline errors
US8751633B2 (en) 2010-04-01 2014-06-10 Cloudflare, Inc. Recording internet visitor threat information through an internet-based proxy service
US10296653B2 (en) 2010-09-07 2019-05-21 F5 Networks, Inc. Systems and methods for accelerating web page loading
JP5231500B2 (en) * 2010-09-09 2013-07-10 ヤフー株式会社 Web server and method for displaying web page including script program on terminal at high speed
US20120110433A1 (en) * 2010-10-28 2012-05-03 Microsoft Corporation Parallel web page processing
US20120117456A1 (en) * 2010-11-05 2012-05-10 Nokia Corporation Method and apparatus for automated interfaces
CN102004648B (en) * 2010-12-27 2015-10-21 用友网络科技股份有限公司 Program customization method and device
CN104820804A (en) 2010-12-30 2015-08-05 艾新顿公司 Online privacy management
US9003552B2 (en) 2010-12-30 2015-04-07 Ensighten, Inc. Online privacy management
AU2014280974B2 (en) * 2010-12-30 2017-01-19 Ensighten, Inc. Online privacy management
CA2775165C (en) * 2011-04-18 2016-02-09 Accenture Global Services Limited Automation controller for next generation testing system
US9183124B2 (en) 2011-04-18 2015-11-10 Accenture Global Services Limited Automation controller for next generation testing system
US8285808B1 (en) * 2011-05-20 2012-10-09 Cloudflare, Inc. Loading of web resources
CN102315986A (en) * 2011-08-31 2012-01-11 百度在线网络技术(北京)有限公司 Method for determining network rate of mobile terminal and equipment
US10466989B2 (en) 2011-09-02 2019-11-05 Microsoft Technology Licensing, Llc. Fast presentation of markup content having script code
CN102567516B (en) * 2011-12-28 2014-01-01 华为技术有限公司 Script loading method and device
US9037636B2 (en) * 2012-01-19 2015-05-19 Microsoft Technology Licensing, Llc Managing script file dependencies and load times
CN103309861B (en) * 2012-03-07 2018-04-10 阿里巴巴集团控股有限公司 The method and apparatus that cross-domain data obtains
US9372836B2 (en) * 2012-03-30 2016-06-21 Qualcomm Incorporated HTML5 I-frame extension
US8874736B2 (en) 2012-04-23 2014-10-28 Hewlett-Packard Development Company, L.P. Event extractor
CN103530289B (en) * 2012-07-02 2018-06-22 腾讯科技(深圳)有限公司 Webpage display process and device
US9898445B2 (en) * 2012-08-16 2018-02-20 Qualcomm Incorporated Resource prefetching via sandboxed execution
US20140053064A1 (en) 2012-08-16 2014-02-20 Qualcomm Incorporated Predicting the usage of document resources
US9503501B2 (en) * 2012-09-17 2016-11-22 Salesforce.Com, Inc. Cross domain in-browser proxy
CN103838720B (en) * 2012-11-20 2018-09-07 腾讯科技(深圳)有限公司 Page file, which is loaded into, executes method and apparatus
US9645982B2 (en) * 2013-03-15 2017-05-09 Google Inc. System and method for loading a web page
CN103152445B (en) * 2013-04-03 2016-02-03 晶赞广告(上海)有限公司 A kind of asynchronous cross-domain identify label mapping method of internet security
CN103338236B (en) * 2013-06-06 2016-03-30 合一网络技术(北京)有限公司 A kind of concurrent data acquisition methods and system
CN104253783A (en) * 2013-06-25 2014-12-31 中国移动通信集团公司 Web application realization code loading method, device, system and server
CN103412890B (en) * 2013-07-19 2017-06-06 北京亿赞普网络技术有限公司 A kind of webpage loading method and device
US9734134B1 (en) * 2013-09-19 2017-08-15 Amazon Technologies, Inc. Conditional promotion through frame reordering
US9607322B1 (en) * 2013-09-19 2017-03-28 Amazon Technologies, Inc. Conditional promotion in content delivery
US9922006B1 (en) 2013-09-19 2018-03-20 Amazon Technologies, Inc. Conditional promotion through metadata-based priority hinting
US9626344B1 (en) 2013-09-19 2017-04-18 Amazon Technologies, Inc. Conditional promotion through packet reordering
US9785969B1 (en) * 2013-09-19 2017-10-10 Amazon Technologies, Inc. Conditional promotion in multi-stream content delivery
JP6265732B2 (en) * 2013-12-25 2018-01-24 キヤノン株式会社 Management device, control method and program for management device
US9219787B1 (en) 2014-11-26 2015-12-22 Ensighten, Inc. Stateless cookie operations server
US9553918B1 (en) 2014-11-26 2017-01-24 Ensighten, Inc. Stateful and stateless cookie operations servers
CN104484383B (en) * 2014-12-10 2017-11-14 北京国双科技有限公司 JS document handling methods and device
CN104572230B (en) * 2015-02-13 2020-02-07 小米科技有限责任公司 Script file loading method and device and script file generating method and device
KR101756913B1 (en) 2015-04-30 2017-07-11 주식회사 이니라인 Interworking system and method for web browser and application program
US10476992B1 (en) 2015-07-06 2019-11-12 F5 Networks, Inc. Methods for providing MPTCP proxy options and devices thereof
CN106990976A (en) * 2016-01-21 2017-07-28 阿里巴巴集团控股有限公司 A kind of page script loading method and device
US10318318B2 (en) 2016-02-26 2019-06-11 Red Hat, Inc. Extending user interface of a web console
CN106095874A (en) * 2016-06-03 2016-11-09 青岛海信移动通信技术股份有限公司 A kind of method and apparatus showing the page
US10481876B2 (en) * 2017-01-11 2019-11-19 Microsoft Technology Licensing, Llc Methods and systems for application rendering
US10620996B2 (en) * 2017-04-26 2020-04-14 Servicenow, Inc. Batching asynchronous web requests
CN108563721A (en) * 2018-04-02 2018-09-21 杭州孚立计算机软件有限公司 A kind of framework for quickly loading webpage
CN108549559A (en) * 2018-05-02 2018-09-18 山东浪潮通软信息科技有限公司 A kind of method and apparatus for calling Python algorithms
US11783004B2 (en) * 2019-08-26 2023-10-10 PerimeterX, Inc. Identifying a script that originates synchronous and asynchronous actions
KR102266073B1 (en) * 2020-02-03 2021-06-17 주식회사 한글과컴퓨터 Electronic device that controls the efficient loading of each sheet that makes up a spreadsheet document based on a multi-thread and operating method thereof

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835712A (en) * 1996-05-03 1998-11-10 Webmate Technologies, Inc. Client-server system using embedded hypertext tags for application and database development
US6470349B1 (en) * 1999-03-11 2002-10-22 Browz, Inc. Server-side scripting language and programming tool
US6976210B1 (en) * 1999-08-31 2005-12-13 Lucent Technologies Inc. Method and apparatus for web-site-independent personalization from multiple sites having user-determined extraction functionality
US6691176B1 (en) * 1999-11-04 2004-02-10 Microsoft Corporation Method for managing client services across browser pages
JP2001184472A (en) * 1999-12-27 2001-07-06 Hitachi Ltd Supply method for application program, smart card, script supply method, terminal device, and storage medium with application program
US7155490B1 (en) * 2000-03-01 2006-12-26 Freewebs Corporation System and method for providing a web-based operating system
US7478434B1 (en) * 2000-05-31 2009-01-13 International Business Machines Corporation Authentication and authorization protocol for secure web-based access to a protected resource
US7328440B2 (en) * 2000-12-22 2008-02-05 Gxs, Inc. Interface between front-end systems and back-end systems
US20020120746A1 (en) * 2001-02-23 2002-08-29 Basavaraj Patil Method and system for providing a service
JP2002259036A (en) * 2001-02-28 2002-09-13 Sony Corp Information processor, information processing method, recording medium, and program
JP2003085500A (en) * 2001-06-27 2003-03-20 Olympus Optical Co Ltd Information recording medium, information processing method, information processor and program
US7149776B1 (en) * 2001-08-31 2006-12-12 Oracle International Corp. System and method for real-time co-browsing
CN1582593A (en) * 2001-09-07 2005-02-16 艾利森电话股份有限公司 Dynamic security model
EP1333387A1 (en) * 2002-02-05 2003-08-06 Siemens Aktiengesellschaft A method of data refreshing of a mark-up language document
IL149977A0 (en) 2002-06-02 2009-02-11 Internet Forex Products Inc Generated applications
US20040167982A1 (en) * 2003-02-26 2004-08-26 Cohen Michael A. Multiple registrars
US6882951B2 (en) * 2003-07-07 2005-04-19 Dell Products L.P. Method and system for information handling system automated and distributed test
US20050240662A1 (en) * 2003-11-05 2005-10-27 Jason Wiener Identifying, cataloging and retrieving web pages that use client-side scripting and/or web forms by a search engine robot
US7509584B2 (en) * 2004-05-28 2009-03-24 Sap Ag Dynamic ECMAScript class loading
JP4355639B2 (en) * 2004-09-15 2009-11-04 キヤノン株式会社 Image processing apparatus and control method thereof
US20060149746A1 (en) * 2005-01-04 2006-07-06 Microsoft Corporation Web application communication protocol
US8305398B2 (en) * 2005-07-01 2012-11-06 Microsoft Corporation Rendering and compositing multiple applications in an interactive media environment
US7849437B2 (en) * 2005-09-01 2010-12-07 Microsoft Corporation Object oriented web application framework
CN100357910C (en) * 2005-09-08 2007-12-26 华为技术有限公司 Keyword driving havigation method
US20070198907A1 (en) * 2006-02-23 2007-08-23 Meenakshi Degala System and method for enabling persistent values when navigating in electronic documents

Also Published As

Publication number Publication date
EP2153344B1 (en) 2017-08-30
US20080271046A1 (en) 2008-10-30
BRPI0810079A2 (en) 2014-10-21
EP2153344A4 (en) 2010-08-04
JP4682270B2 (en) 2011-05-11
CN101669114A (en) 2010-03-10
JP2010525489A (en) 2010-07-22
WO2008134162A1 (en) 2008-11-06
EP2153344A1 (en) 2010-02-17
CN101669114B (en) 2012-09-05
US7689665B2 (en) 2010-03-30

Similar Documents

Publication Publication Date Title
TW200844856A (en) Dynamically loading scripts
JP6092249B2 (en) Virtual channel for embedded process communication
US9235451B2 (en) Browser kernel switching method
JP6898452B2 (en) Data acquisition method and device
US7949999B1 (en) Providing support for multiple interface access to software services
US20080271045A1 (en) Providing localized resources for client-side script execution
US20150012987A1 (en) Multi-account login method and apparatus
US20090119302A1 (en) Asynchronous client to server updates
US20100125623A1 (en) Cross-domain communication technique for execution of web mashups
US8886819B1 (en) Cross-domain communication in domain-restricted communication environments
CN102473171A (en) Communicating information about a local machine to a browser application
TW200900956A (en) Identifying appropriate client-side script references
CN108416021B (en) Browser webpage content processing method and device, electronic equipment and readable medium
US11023558B1 (en) Executing functions on-demand on a server utilizing web browsers
CA2839006A1 (en) Methods for making ajax web applications bookmarkable and crawlable and devices thereof
KR20110063633A (en) Discovering alternative user experiences for websites
CN112930530B (en) Client application for network application execution
US20190325072A1 (en) Providing Isolated Extensibility For Webpages With A Unified Manifest And Omni-Accessible Platform Script
Erenkrantz Computational REST: A new model for decentralized, Internet-scale applications
JP6683835B2 (en) Reduced waiting time when downloading electronic resources using multiple threads
TW535071B (en) Method computer system and computer program product for updating a web page
Sun et al. Asynchronous Events
JP2020123362A (en) Reducing latency in downloading electronic resources using multiple threads
Clow et al. Web Applications and AJAX Communications
Thota Web Service Reliability for Deactivation and Decommissioning Knowledge Management Information Tool (D&D KM-IT) Vendor Management with Mobile Applications