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
English (en)
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/zh

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)

Description

200844856 九、發明說明: 【發明所屬之技術領域】 本發明係關於動態载入腳本。 【先前技術】 Ο 電腦系統與相關科技會影響社會的許多層面。實-上,電腦系統處理資訊的能力已經改變了我們生活及工八 的方式。現在電腦系統經常執行在電腦系統發展之前人乍 執行的多種工作(例如文字處理、排程及會計等)。近年來x 電腦系統彼此結合,並結合其它電子裝置, A叫吋形成有 線及無線電腦網路,在其中該電腦系統與其它電子穿置η 傳遞電子資料。因此’許多運算工作的效能即分散到一 i 不同的電腦系統及/或一些不同的運算組件。 一種常用的以網路為基礎之通訊型式為在全球資訊網 (WWW,“Worldwide Web”)上交換電子訊息。在全球資气網 上的内容基本上係以一客戶端/伺服器模型來存取。一 戶 端電腦系統的「網頁瀏覽器」傳送一請求來存取由一祠服 器電腦系統的「網頁伺服器」所提供的内容(例如藉由輪入 一全球資源定位器(URL, “Uniform Resource Locator”)到 該網頁瀏覽器中)。如果網頁瀏覽器的使用者被授權存取該 内容,網頁伺服器基本上可提供該内容給該網頁劉覽器。 在一網頁環境中,内容及對於内容的請求時常使用超文字 輸送協定(HTTP,“Hypertext Transfer Protocol”)傳送。網頁 式的内容可於超文字審定語言(HTML,“HyperText Markup 200844856
Language”)頁面、樣式板、影像、腳本等中提供。 之 網 頁 〇 是 〇 客 伺 得 域 額 網 到 表 相 器 10 料 資 端
例如,腳本可用於執行比僅使用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 載入器利用包括該網頁的參照將腳本置於該佇列中。該網 頁瀏覽器偵測到在查詢包括在該網頁中任何的腳本參照之 後,在該網頁中並未包括其它腳本參照。
υ 指示該腳本載入器沒有其它的腳本參照之網頁瀏覽器 係包括在該網頁中。該腳本載入器自該網頁瀏覽器接收該 指示,代表在該指定的網頁中沒有其它的腳本參照。該腳 本載入器使得由該佇列的腳本參照所參照的腳本根據腳本 載入規則載入,以蓋過網頁瀏覽器之預設的腳本載入行 為。網頁瀏覽器包括在呈現該網頁時任何相關的腳本結果。 此摘要係用來介紹在一簡化型式中選出的觀念,其在 以下的實施方式中會進一步說明。此内容說明並非要提出 所主張標的之關鍵特徵或基本特徵,也並非要做為輔助決 定所主張標的之範疇。 本發明額外的特徵與優點將在以下的說明當中提出, 而部份將可由說明當中瞭解,或可由實施本發明來獲悉。 本發明的特徵與優點將藉由在後附申請專利範圍中特定指 出的元件及組合進行瞭解與得知。本發明這些與其它特徵 將藉由以下的說明及後附申請專利範圍更為暸解,或可由 此下提出之本發明的實施而得知。 【實施方式】 本發明關於動態載入腳本的方法、系統及電腦程式產 品。一網頁瀏覽器回應於來自該網頁瀏覽器對該網頁之請 求即自一網頁伺服器接收一網頁。該網頁包括對一腳本載 10 200844856 其 網 頁 1 ° 立 來 腳 列 腳 器 該 本 載 電 疇 含 讀 電 可 、 存
入器之參照。該腳本載入器經配置以在執行時建立佇列 它腳本參照的一資料結構。該腳本載入器亦配置以在由 頁瀏覽器指示時根據腳本載入器規則動態地載入在該網 中參照的腳本,以覆蓋該網頁瀏覽器之預設腳本載入行為 該網頁瀏覽器執行該腳本載入器。該腳本載入器建 佇列腳本參照之一資料結構。該網頁瀏覽器處理該網頁 佇列該資料結構中包括在該網頁中的任何腳本參照。該 本載入器利用包括在該網頁中的參照將腳本置於該佇 中。該網頁瀏覽器偵測到在佇列包括在該網頁中任何的 本參照之後在該網頁中並未包括其它腳本參照。 指示該腳本載入器沒有其它的腳本參照之網頁瀏覽 係包括在該網頁中。該腳本載入器自該網頁瀏覽器接收 指示,代表在該指定的網頁中沒有其它的腳本參照。腳 載入器使得由該佇列的腳本參照所參照的腳本根據腳本 入規則載入,以蓋過網頁瀏覽器之預設的腳本載入行為 該網頁瀏覽器包括在呈現該網頁時任何相關的腳本結果 本發明的具體實施例可包含一特殊目的或通用之 腦,其包括電腦硬體,如以下的詳細說明。在本發明範 内之具體實施例亦包括電腦可讀取媒體,用於承載或包 儲存於其中的電腦可執行指令或資料結構。這種電腦可 取媒體可為任何可用的媒體,其可由一通用或特殊目的 腦進行存取。藉由範例(而非限制性),電腦可讀取媒體 包含實體(或可記錄式)電腦可讀取儲存媒體,例如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中傳 >客戶端 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可 現資料 者介面 收的内 網頁的 15
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= "ScriptLoader.js” /> 一腳本載入器即對該網頁應用來建立及註冊,例如像 是:
Sys.Application.set_scriptLoader( new Sys.ScriptLoaderQ); // this·一loader.add_allScriptsLoaded (
This._allScriptsLoadedDelegate); 腳本參照,包括參照、共線腳本、及管理程式,其皆 22 200844856 佇列到該腳本載入器中。如前所述,腳本可由多個不同位 置載入。因此,腳本可由顧客庫載入,例如像是: Sypplication.queueScriptReference(f/ CustomScript.js1);
Sys. Application· queueScriptReference( ("Sys.Application.add一init ( $create(Custom.UI.Control,{},{},{},$get(T)) );
Sys. Application. initialize(); 然後該註冊的腳本載入可被指示來載入其已經佇列的 腳本參照,例如像是:
Sys.Application.get__scriptLoader().set_scriptLoadTimeOut(n) Sys.Application.get scriptLoader().loadScripts(); 該腳本載入器可在當已經載入所有腳本時指示給該網 頁應用。 在另一具體實施例中,一腳本載入器參照在一非同步 HTTP POST到一網頁應用中傳回到一網頁瀏覽器。在此其 它具體實施例中,一腳本載入可以已經建立,且一請求f 理者對於所載入的腳本掛上一事件。因此即可發生註冊, 例如像是:
Sys.Application.get一 scriptLoader(). add_allScriptsLoaded(PRM._allScriptsLoadedDelegate); 然後腳本參照可利用内部腳本載入器被佇列。此包& 腳本參照、共線腳本及任何管理程式。因此,腳本可由雇貝 23 200844856 客庫載入,例如像是:
Sys. Application. queueScriptReference(V CustomScript.js ?);
Sys. Application. queueScriptReference( (f,Sys.Application.add_init ( $create(Custom.UI.Control,{},{},{},$get(T)) ); 該註冊的腳本載入器即被指示來載入其腳本參照, ^ 如像是: Ο .
Sys .Application· get 一 scriptLoader(). loadS cripts(); 在任一具體實施例中以及其它前述具體實施例中, 頁面或組件開發者能夠經由API及一腳本載入器之宣告 語法在一網頁瀏覽器處定義載入腳本之行為。然後該腳 官理者產生使用一客戶端側腳本處理器之輸出。 額外的腳本相關的功能性亦可包括在一腳本載入 中。例如’一腳本載入器可配置於寫入任何腳本載入錯 到一記錄檔案中。腳本載入錯誤可包括:到時、相關性 ◎ 决、貝源錯誤等。關於一腳本載入錯誤的相關内文式資 亦可在當發生一腳本载入錯誤時被寫入到該記錄檔案中 Λ錄;U案可儲存在一位置處,其可存取到一頁面或組 開發者你j % ’在於網頁瀏覽器⑻處偵測到腳本載入 =、、腳本载入益1 〇 8可儲存記錄1 5 7到網路1 〇 3内一 路位置一開發者可存取來自該網路位置的記錄丨5 7, 輔助測試及/或除_ _太.χ XI示錯腳本载入器108以及其它腳本。 f發明可實施成其它特定的型 其皆不悖離本發 例 式 本 器 誤 錯 訊 〇 件 錯 網 以 明 24
200844856 之精神或基本特性。上述的具體實施例在各個態樣 視為例示性而非限制性。因此本發明的範疇係由後 專利範圍所指示,而非由前述的說明。所有在申請 圍之同等性下的意義與範圍内之改變皆要涵蓋在其 内〇 【圖式簡單說明】 為了說明可以取得本發明上述及其它優點與特 法,上述簡短說明之本發明的更為特定之說明將參 屬圖式中所例示的特定具體實施例來呈現。請暸解 式所示僅為本發明之典型的具體實施例,因此不應 範疇的限制,本發明將藉由使用附屬圖式利用額外 容及細節來加以描述與解釋。 第1圖為構成動態載入腳本之示例性電腦架構 第2圖為用於動態載入腳本之示例性方法的流 中皆應 附申請 專利範 範疇之 徵的方 考在附 這些圖 視為其 特定内 程圖。
【主要元件符號說明】 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

Claims (1)

  1. 200844856 十、申請專利範圍: 1. 一種在一網頁瀏覽器動態載入腳本之方法,其係用在 連接至一網路的電腦系統,該電腦系統包括在該電腦 系統處配置以呈現網頁之該網頁瀏覽器,該方法包含 下列步驟:
    自一網頁伺服器接收一網頁,該網頁回應於來自 該網頁瀏覽器對該網頁之一請求而傳送到該網頁瀏覽 器,該網頁包括供一腳本載入器使用之一參照,該腳 本載入器配置以在執行時建立一用於佇列其它腳本參 照之資料結構,該腳本載入器亦配置以在得到來自該 網頁瀏覽器的一指示時,根據腳本載入規則動態地載 入在該網頁中參照的腳本,以覆蓋該網頁瀏覽器之預 設腳本載入行為; 執行該腳本載入器來建立一佇列腳本參照之資料 結構; 處理該網頁以在該資料結構中佇列被包括在該網 頁中的任何腳本參照; 偵測到:在該資料結構佇列任何包括在該網頁中 的腳本參照之後,並無其它腳本參照包括在該網頁中; 指示該腳本載入器並無其它腳本參照包括在該網 頁中,藉此使得該腳本載入器根據該腳本載入規則動 態地載入對應於該佇列的腳本參照之腳本,以覆蓋該 網頁瀏覽器之預設的腳本載入行為;及 在該網頁的一呈現中包括任何相關的腳本結果。 27 200844856 2 · 如申請專利範圍第1項所述之方法,另包含下列步驟: 在自該網頁伺服器接收該網頁之前,傳送一 HTTP GET到該網頁伺服器。 3 · 如申請專利範圍第1項所述之方法,另包含下列步驟: 傳送一非同步HTTP POST到該網頁伺服器。 4. 如申請專利範圍第1項所述之方法,其中自一網頁伺 服器接收一網頁的步驟包含下列步驟:
    Ο 接收一網頁,其在該網頁的頂部包括一腳本載入 器參照。 5. 如申請專利範圍第1項所述之方法,其中指示該腳本 載入器並無其它腳本參照包括在該網頁中藉此使得該 腳本載入器動態載入腳本之步驟包含下列步驟: 指示該腳本載入器並無其它腳本參照包括在該網 頁中,藉此使得該腳本載入器以於該等腳本在該網頁 中遇到的順序之一不同順序載入腳本。 6. 如申請專利範圍第1項所述之方法,其中指示該腳本 載入器並無其它腳本參照包括在該網頁中藉此使得該 腳本載入器動態載入腳本之步驟包含: 指示該腳本載入器並無其它腳本參照包括在該網 頁中,藉此使得該腳本載入器平行地載入複數個腳本。 7. 如申請專利範圍第1項所述之方法,其中指示該腳本 載入器並無其它腳本參照包括在該網頁中藉此使得該 腳本載入器動態載入腳本之步驟包含: 指示該腳本載入器並無其它腳本參照包括在該網 28 200844856 頁中,藉此使得該腳本載入器載入腳本之方式可限制 該等請求的數目於任何給定網域。 8. 如申請專利範圍第1項所述之方法,其中指示該腳本 載入器並無其它腳本參照包括在該網頁中藉此使得該 腳本載入器動態載入腳本之步驟包含: 指示該腳本載入器並無其它腳本參照包括在該網 頁中,藉此使得該腳本載入器載入腳本之方式可蓋過 該網頁瀏覽器之預設的載入行為。
    L) 9. 一種配置以動態載入在一網頁中參照的腳本之腳本載 入器,其係用在連接至一網路的電腦系統處,該電腦 系統包括配置以在該電腦系統呈現網頁之一網頁瀏覽 器,其中該腳本載入器係藉由執行下列步驟來覆蓋該 網頁瀏覽器之預設的腳本載入行為,包含: 建立經配置以儲存腳本參照之一佇列; 將包括在一指定網頁中的腳本參照置於該佇列; 自該網頁瀏覽器接收一指示,其指示在該指定的 網頁中沒有包括其它的腳本參照;及 使得由該佇列的腳本參照所參照的腳本根據腳本 載入規則載入,以覆蓋該網頁瀏覽器之預設的腳本載 入行為。 10. 如申請專利範圍第9項所述之腳本載入器,另包含下 列步驟: 在使得該腳本被載入之前,列舉在該佇列中該等 腳本參照,藉以建構一腳本參照列表。 29 200844856 11. 如申請專利範圍第10項所述之腳本載入器,另包含下 列步驟: 識別對應於包含在該腳本參照之列表中的腳本參 照之腳本;及 決定是否有任何識別的腳本係彼此相關。 12. 如申請專利範圍第10項所述之腳本載入器,另包含下 列步驟: 識別至少一腳本係根據至少一個其它腳本。
    ϋ 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 偵測到:在該資料結構佇列任何包括在該網 頁中的腳本參照之後,並無其它腳本參照包括在 該網頁中; 指示該腳本載入器並無其它腳本參照被包括 在該網頁中,藉此使得該腳本載入器根據該腳本 載入規則動態地載入對應於該佇列的腳本參照之 腳本,以覆蓋該網頁瀏覽器之預設的腳本載入行 為;及
    在執行代表該腳本載入器之電腦可執行指令時, 將代表該腳本載入器之可執行指令儲存到系統記憶體 中,其在該等處理器之一處執行時,使得該腳本載入 器經配置以: 建立配置以儲存腳本參照的一佇列; 將包括在一指定網頁中的腳本參照置於該佇 列; 自該網頁瀏覽器接收一指示,其指示在該指 定的網頁中沒有其它的腳本參照;及 使得由該佇列的腳本參照所參照的腳本根據 腳本載入規則載入,以覆蓋該網頁瀏覽器之預設 的腳本載入行為。 2 0.如申請專利範圍第1 9項所述之電腦系統,其中該腳本 根據腳本載入規則被載入,以基於該等參照的腳本之 特性及該等參照的腳本之間的關係來覆蓋該網頁瀏覽 器之該預設的連續腳本載入行為。 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 (zh)
EP (1) EP2153344B1 (zh)
JP (1) JP4682270B2 (zh)
CN (1) CN101669114B (zh)
BR (1) BRPI0810079A2 (zh)
TW (1) TW200844856A (zh)
WO (1) WO2008134162A1 (zh)

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 (ja) * 2009-09-17 2011-03-31 Sony Corp 情報処理装置、データ表示方法及びプログラム
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
US10102301B2 (en) 2010-04-01 2018-10-16 Cloudflare, Inc. Internet-based proxy security services
US9049247B2 (en) 2010-04-01 2015-06-02 Cloudfare, Inc. Internet-based proxy service for responding to server offline errors
US10296653B2 (en) 2010-09-07 2019-05-21 F5 Networks, Inc. Systems and methods for accelerating web page loading
JP5231500B2 (ja) * 2010-09-09 2013-07-10 ヤフー株式会社 スクリプトプログラムを含むWebページを端末に高速表示させるWebサーバ及びその方法
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 (zh) * 2010-12-27 2015-10-21 用友网络科技股份有限公司 程序定制方法和装置
CN103403685B (zh) * 2010-12-30 2015-05-13 艾新顿公司 在线隐私管理
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 (zh) * 2011-08-31 2012-01-11 百度在线网络技术(北京)有限公司 一种用于确定移动终端的网络速率的方法与设备
US10466989B2 (en) 2011-09-02 2019-11-05 Microsoft Technology Licensing, Llc. Fast presentation of markup content having script code
CN102567516B (zh) * 2011-12-28 2014-01-01 华为技术有限公司 脚本加载方法及装置
US9037636B2 (en) * 2012-01-19 2015-05-19 Microsoft Technology Licensing, Llc Managing script file dependencies and load times
CN103309861B (zh) * 2012-03-07 2018-04-10 阿里巴巴集团控股有限公司 跨域数据获取的方法与装置
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 (zh) * 2012-07-02 2018-06-22 腾讯科技(深圳)有限公司 网页显示方法和装置
US20140053064A1 (en) 2012-08-16 2014-02-20 Qualcomm Incorporated Predicting the usage of document resources
US9898445B2 (en) * 2012-08-16 2018-02-20 Qualcomm Incorporated Resource prefetching via sandboxed execution
US9503501B2 (en) * 2012-09-17 2016-11-22 Salesforce.Com, Inc. Cross domain in-browser proxy
CN103838720B (zh) * 2012-11-20 2018-09-07 腾讯科技(深圳)有限公司 页面文件载入执行方法和装置
US9645982B2 (en) * 2013-03-15 2017-05-09 Google Inc. System and method for loading a web page
CN103152445B (zh) * 2013-04-03 2016-02-03 晶赞广告(上海)有限公司 一种互联网安全的异步跨域身份标识映射方法
CN103338236B (zh) * 2013-06-06 2016-03-30 合一网络技术(北京)有限公司 一种并发数据获取方法及系统
CN104253783A (zh) * 2013-06-25 2014-12-31 中国移动通信集团公司 web应用实现代码加载方法、装置、系统及服务器
CN103412890B (zh) * 2013-07-19 2017-06-06 北京亿赞普网络技术有限公司 一种网页加载方法和装置
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
US9734134B1 (en) * 2013-09-19 2017-08-15 Amazon Technologies, Inc. Conditional promotion through frame reordering
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 (ja) * 2013-12-25 2018-01-24 キヤノン株式会社 管理装置、管理装置の制御方法及びプログラム
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 (zh) * 2014-12-10 2017-11-14 北京国双科技有限公司 Js文件处理方法和装置
CN104572230B (zh) * 2015-02-13 2020-02-07 小米科技有限责任公司 脚本文件的加载方法、脚本文件生成方法及装置
KR101756913B1 (ko) 2015-04-30 2017-07-11 주식회사 이니라인 웹브라우저와 응용 프로그램 간의 연동 시스템 및 그 방법
US10476992B1 (en) 2015-07-06 2019-11-12 F5 Networks, Inc. Methods for providing MPTCP proxy options and devices thereof
CN106990976A (zh) * 2016-01-21 2017-07-28 阿里巴巴集团控股有限公司 一种网页脚本加载方法和装置
US10318318B2 (en) 2016-02-26 2019-06-11 Red Hat, Inc. Extending user interface of a web console
CN106095874A (zh) * 2016-06-03 2016-11-09 青岛海信移动通信技术股份有限公司 一种显示页面的方法和设备
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 (zh) * 2018-04-02 2018-09-21 杭州孚立计算机软件有限公司 一种用于快速加载网页的架构
CN108549559A (zh) * 2018-05-02 2018-09-18 山东浪潮通软信息科技有限公司 一种调用Python算法的方法和装置
US11783004B2 (en) * 2019-08-26 2023-10-10 PerimeterX, Inc. Identifying a script that originates synchronous and asynchronous actions
KR102266073B1 (ko) * 2020-02-03 2021-06-17 주식회사 한글과컴퓨터 멀티 스레드를 기반으로 스프레드시트 문서를 구성하는 각 시트에 대한 효율적 로드를 제어하는 전자 장치 및 그 동작 방법

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 (ja) 1999-12-27 2001-07-06 Hitachi Ltd アプリケーションプログラムの供給方法、スマートカード、スクリプト供給方法、端末装置およびアプリケーションプログラムを有する記憶媒体
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 (ja) 2001-02-28 2002-09-13 Sony Corp 情報処理装置及び情報処理方法、記録媒体並びにプログラム
JP2003085500A (ja) 2001-06-27 2003-03-20 Olympus Optical Co Ltd 情報記録媒体、情報処理方法、情報処理装置、及びプログラム
US7149776B1 (en) * 2001-08-31 2006-12-12 Oracle International Corp. System and method for real-time co-browsing
WO2003024138A1 (en) 2001-09-07 2003-03-20 Telefonaktiebolaget L M Ericsson (Publ) 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
WO2005048052A2 (en) * 2003-11-05 2005-05-26 Dipsie, Inc. Identifying cataloging and retrieving web pages using client-side scripting and web forms
US7509584B2 (en) 2004-05-28 2009-03-24 Sap Ag Dynamic ECMAScript class loading
JP4355639B2 (ja) * 2004-09-15 2009-11-04 キヤノン株式会社 画像処理装置およびその制御方法
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 (zh) * 2005-09-08 2007-12-26 华为技术有限公司 一种关键字驱动的导航方法
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
JP4682270B2 (ja) 2011-05-11
US20080271046A1 (en) 2008-10-30
EP2153344A4 (en) 2010-08-04
BRPI0810079A2 (pt) 2014-10-21
CN101669114A (zh) 2010-03-10
US7689665B2 (en) 2010-03-30
CN101669114B (zh) 2012-09-05
EP2153344B1 (en) 2017-08-30
WO2008134162A1 (en) 2008-11-06
JP2010525489A (ja) 2010-07-22
EP2153344A1 (en) 2010-02-17

Similar Documents

Publication Publication Date Title
TW200844856A (en) Dynamically loading scripts
JP6092249B2 (ja) 埋込まれたプロセス通信のための仮想チャネル
US9235451B2 (en) Browser kernel switching method
US8001551B2 (en) Providing localized resources for client-side script execution
JP6898452B2 (ja) データ取得方法およびデバイス
US7770185B2 (en) Interceptor method and system for web services for remote portlets
US7949999B1 (en) Providing support for multiple interface access to software services
CN110651252A (zh) 内容管理系统扩展
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
US20120331372A1 (en) Methods for making ajax web applications bookmarkable and crawlable and devices thereof
US11023558B1 (en) Executing functions on-demand on a server utilizing web browsers
CN102473171A (zh) 将有关本地机器的信息传达给浏览器应用
TW200900956A (en) Identifying appropriate client-side script references
JP2003076560A (ja) Asp.nethttpランタイム
CN108416021B (zh) 一种浏览器网页内容处理方法、装置、电子设备及可读介质
KR20110063633A (ko) 웹 사이트에 대한 대안의 사용자 경험 검색
CN112930530B (zh) 用于网络应用程序执行的客户端应用程序
US10628513B2 (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 (ja) 複数のスレッドを使って電子リソースをダウンロードする際の待ち時間の削減
TW535071B (en) Method computer system and computer program product for updating a web page
JP2020123362A (ja) 複数のスレッドを使って電子リソースをダウンロードする際の待ち時間の削減