專利名稱::自動操縱web文檔集合的制作方法自動操縱web文檔集合概述本發(fā)明由所附權(quán)利要求書來限定,但一般而言,本發(fā)明的各實(shí)施例包括自動操縱(instrument)文檔集合(特別是網(wǎng)頁)的系統(tǒng)和方法。以下更詳細(xì)地解釋“操縱”,但一般而言,其指的是經(jīng)由插入自定義可執(zhí)行代碼、內(nèi)容、或廣告來修改文檔或特定的相關(guān)文檔集合(如作為電子商務(wù)購買過程的一部分的網(wǎng)頁集合或網(wǎng)站布局的若干實(shí)驗(yàn)變化之一),以使最終用戶相對該文檔所采取的動作可出于記錄、分析、記賬、以及其他商務(wù)目的而被傳輸?shù)倪^程。本發(fā)明的實(shí)施例可自動操縱任何數(shù)量的頁面,甚至數(shù)百或數(shù)千頁面。本發(fā)明的其他說明性方面包括便于智能確認(rèn)代碼插入點(diǎn);評估加標(biāo)簽(插入代碼)的影響;基于用戶輸入或配置(包括諸如提供簡檔id、頁面別名/綽號、事件、電子商務(wù)變量等技術(shù))來確定標(biāo)簽的參數(shù);使用中央標(biāo)簽儲存庫(例如142)來維護(hù)操縱的完整性(這允許簡單地撤消改變);操縱/標(biāo)記A/B測試和應(yīng)用于指定文檔集合的多變量測試的能力;以及到頁面中的、最小化對該頁面的負(fù)面影響(外觀可能改變但功能不變)的內(nèi)容廣告塊的插入。這些方面的部分列表不應(yīng)被解釋為其他方面不存在的指示。若干附圖的簡述以下將參考附圖詳細(xì)描述本發(fā)明的各實(shí)施例,附圖構(gòu)成本發(fā)明的一部分并通過引用結(jié)合于此,并且在附圖中圖IA描繪適合于實(shí)施本發(fā)明的實(shí)施例的說明性操作環(huán)境;圖1B-1E描繪根據(jù)本發(fā)明的一實(shí)施例的要嵌入在網(wǎng)頁集合中的說明性程序代碼;圖2描繪根據(jù)本發(fā)明的一實(shí)施例的“在開頭之前插入”規(guī)則的說明性實(shí)現(xiàn);圖3描繪根據(jù)本發(fā)明的一實(shí)施例的“在開頭之后插入”規(guī)則的說明性實(shí)現(xiàn);圖4描繪根據(jù)本發(fā)明的一實(shí)施例的“在結(jié)尾之前插入”規(guī)則的說明性實(shí)現(xiàn);圖5描繪根據(jù)本發(fā)明的一實(shí)施例的“在結(jié)尾之后插入”規(guī)則的說明性實(shí)現(xiàn);圖6描繪根據(jù)本發(fā)明的一實(shí)施例的源于將詞法分析器應(yīng)用于程序代碼的說明性結(jié)果;圖7A和圖7B描繪根據(jù)本發(fā)明的實(shí)施例的說明性標(biāo)記方案;圖8A-8M描繪根據(jù)本發(fā)明的一實(shí)施例的用戶界面的說明性屏幕截圖;圖9描繪根據(jù)本發(fā)明的一實(shí)施例的用于嵌入自定義內(nèi)容的說明性方法;以及圖10描繪根據(jù)本發(fā)明的一實(shí)施例的、根據(jù)安裝跟蹤腳本的另一實(shí)施例的第二方法。詳細(xì)描述如以上簡要提到的,本發(fā)明的一實(shí)施例的各新穎方面之一是將web分析標(biāo)簽自動地插入文檔(網(wǎng)頁,其可包括文本文件、動態(tài)可修改文件等)的能力,從而簡化將這些標(biāo)簽插入到要操縱的每一頁面的用戶的體驗(yàn)。在一個實(shí)施例中,標(biāo)簽采取操縱網(wǎng)頁的定界HTML的形式和/或腳本(例如Java腳本等);即允許跟蹤與網(wǎng)頁相關(guān)聯(lián)的網(wǎng)頁使用信息。一些技術(shù)人員使用各種術(shù)語來捕捉操縱這一概念。例如,“web分析”有時指一些web分析提供者所進(jìn)行的“網(wǎng)站操縱”。一個說明性web分析提供者是Omniture有限公司(NASDAQ=OMTR,參見omniture.com)。存在許多諸如Omniture的那些的監(jiān)視服務(wù)。執(zhí)行監(jiān)視服務(wù)不是本發(fā)明解決的全部問題。相反,本發(fā)明的一方面是關(guān)于用監(jiān)視能力來配備網(wǎng)站或網(wǎng)頁集合。直到安裝了安全系統(tǒng),否則不能監(jiān)視家庭安全。盡管許多供應(yīng)商提供監(jiān)視服務(wù),但我們的考慮之一類似于安裝安全系統(tǒng)本身;但以自動化的方式。對網(wǎng)站的操縱包括將web分析相關(guān)腳本插入到網(wǎng)頁中。這一技術(shù)在此將被不同地稱為“加標(biāo)簽”,因?yàn)椴迦氲骄W(wǎng)頁中的是由HTML標(biāo)簽定界的代碼部分。加標(biāo)簽不限于插入web分析,并且還可包括嵌入內(nèi)容廣告。因此,本發(fā)明的一個方面提供用于操縱網(wǎng)頁集合以使用戶甚至不必編輯網(wǎng)頁的源代碼的高效且自動化的方式。通常,網(wǎng)頁組成網(wǎng)站,但并不總是如此。因此,在討論“操縱”或“正在操縱”網(wǎng)頁時,意味著指的是用監(jiān)視網(wǎng)頁的使用信息的能力來配備網(wǎng)頁。說明性網(wǎng)頁使用信息包括關(guān)于包含訪問事件(人們124與網(wǎng)頁交互的方式)等網(wǎng)站訪問者124的行為的信息,并可包括關(guān)于在網(wǎng)頁上點(diǎn)擊的對象的信息、關(guān)于所查看的文檔的信息、所訪問的網(wǎng)頁、關(guān)于從網(wǎng)頁下載的下載信息、關(guān)于網(wǎng)頁上激活的控件的信息、關(guān)于用戶在網(wǎng)頁上交互的項(xiàng)的信息、關(guān)于通過網(wǎng)頁方式呈現(xiàn)的媒體對象的信息、以及其他信息。這允許網(wǎng)站所有者查看詳細(xì)示出其網(wǎng)站的使用的各方面的報告和其他展示。在內(nèi)容提供者的上下文中實(shí)現(xiàn)本發(fā)明的各實(shí)施例也可適用于商業(yè)提供者,因?yàn)樵陧撁嬷星度胨麄兊膹V告并跟蹤它們的有效性是合乎需要的?,F(xiàn)在轉(zhuǎn)向圖1,提供了適用于實(shí)施本發(fā)明的實(shí)施例的說明性操作環(huán)境并由標(biāo)號110概括參考。如說明性地所示出,各設(shè)備彼此直接耦合或通過網(wǎng)絡(luò)112間接耦合。web服務(wù)器114主存包括各個網(wǎng)頁的網(wǎng)站116。并非所有網(wǎng)頁都被示出。網(wǎng)頁中的一部分由標(biāo)號118來參考。如將在以下更詳細(xì)地解釋的,這些網(wǎng)頁中的一些的源代碼將被修改以便除其他方面外能跟蹤使用信息。這些修改由具有參考標(biāo)號120的云來表示。S卩,云120參考添加到網(wǎng)頁118的允許實(shí)現(xiàn)諸如跟蹤使用信息和提供廣告內(nèi)容等各功能方面的程序代碼(加標(biāo)簽結(jié)構(gòu))。程序代碼/標(biāo)簽120的說明性示例在圖1B-1E中找到。在某些實(shí)施例中,操縱代碼120便于網(wǎng)頁使用跟蹤。在其他實(shí)施例中,操縱代碼120便于呈現(xiàn)廣告內(nèi)容。簡要地轉(zhuǎn)向圖1B-1E,僅呈現(xiàn)標(biāo)簽或可嵌入的自定義內(nèi)容的示例。句法和格式無疑可以改變。圖IB的框160示出web分析標(biāo)簽的第一示例。圖IC的框162示出另一示例。圖ID示出更抽象的句法,其示出源指示164、類型指示166、用戶標(biāo)識符168、跟蹤參考170、以及在該情況下與標(biāo)識符168相關(guān)聯(lián)的類型指示符172。這些不是僅有的類型的標(biāo)簽,而只是示例。圖IE描繪提供要嵌入的對象的視覺信息的說明性廣告相關(guān)標(biāo)簽。同樣如以下將更詳細(xì)地解釋的,可以增強(qiáng)web服務(wù)器114以包括通知客戶機(jī)122,在一個實(shí)施例中,通知客戶機(jī)122在運(yùn)行中修改web內(nèi)容,以便在請求網(wǎng)頁時實(shí)時地修改該網(wǎng)頁以包括在將其呈現(xiàn)給查看者124時呈現(xiàn)的代碼120。為簡明起見,即使情況實(shí)際上是并非所有網(wǎng)頁都將被修改,也通過參考標(biāo)號118來參考網(wǎng)頁118。即,在某些情況下,只修改網(wǎng)頁中的一部分。為幫助說明本發(fā)明的實(shí)施例,假定要操縱網(wǎng)站116。S卩,網(wǎng)頁118將接收嵌入的內(nèi)容120。本發(fā)明的大部分圍繞插入或嵌入便于監(jiān)視網(wǎng)頁的程序代碼120。網(wǎng)站可包括幾百或甚至數(shù)千頁面/文檔。本發(fā)明的一實(shí)施例允許一個自動化的過程檢查整個網(wǎng)頁集合,智能地確定插入代碼120而不影響網(wǎng)頁在網(wǎng)站上的外觀的插入點(diǎn),選擇適當(dāng)?shù)臉?biāo)簽,以及將其插入到所確定的插入點(diǎn)中。為此,在一個實(shí)施例中,用戶利用具有運(yùn)行網(wǎng)絡(luò)瀏覽器128的能力的客戶機(jī)126。我們將客戶機(jī)126稱為用戶126,因?yàn)樗怯脩粲脕聿倏v網(wǎng)站以及區(qū)分本發(fā)明的這樣的用戶與作為網(wǎng)站訪問者的網(wǎng)站查看者124的說明性設(shè)備。網(wǎng)絡(luò)瀏覽器128可以是因特網(wǎng)瀏覽器,如Firefox、Safari、Opera、Mozilla、InternetExplorer等。在一個實(shí)施例中,客戶機(jī)側(cè)應(yīng)用程序130通過瀏覽器128在計算設(shè)備126上呈現(xiàn)用戶界面132。在一個實(shí)施例中,用戶界面132包括各種屏幕畫面和控件,它們有標(biāo)號134概括參考。在一個實(shí)施例中,客戶機(jī)應(yīng)用程序130是基于web的客戶機(jī)應(yīng)用程序。例如,客戶機(jī)應(yīng)用程序130可以采取ActiveX控件或類似控件的形式。在其他實(shí)施例中,它是補(bǔ)充本地軟件應(yīng)用程序的獨(dú)立可執(zhí)行碼或插件/內(nèi)插附件,諸如用來創(chuàng)建或管理網(wǎng)站的web創(chuàng)作工具。在一個實(shí)施例中,客戶機(jī)應(yīng)用程序130與在服務(wù)器138上運(yùn)行的服務(wù)器側(cè)應(yīng)用程序136協(xié)作,將服務(wù)器138稱為操縱服務(wù)器來幫助使對它的參考更容易。當(dāng)然,它可以采取各種計算設(shè)備的形式,如計算機(jī)、膝上型計算機(jī)等。操縱服務(wù)器138可以是執(zhí)行將在此處描述的各種功能的任何計算設(shè)備。在某些實(shí)施例中,服務(wù)器138包括使客戶機(jī)應(yīng)用程序130可被實(shí)時訪問或下載并安裝的存儲器。該存儲器不必與服務(wù)器138相關(guān)聯(lián),而可處于可由用戶126訪問的另一位置。在一個實(shí)施例中,客戶機(jī)應(yīng)用程序130與服務(wù)器側(cè)應(yīng)用程序136—起工作來操縱網(wǎng)站116。在其他實(shí)施例中,客戶機(jī)應(yīng)用程序130可直接與web服務(wù)器114一起工作來操縱網(wǎng)站116。在又一些實(shí)施例中,如果客戶機(jī)應(yīng)用程序130可以訪問一網(wǎng)頁集合,則它可自主地操縱該網(wǎng)頁集合。交互的各可變級別可以是情況的函數(shù),如網(wǎng)站116被首次操縱與對它的操縱正在更新相比,還是只有網(wǎng)頁118的一部分被修改。在其他實(shí)施例中,操縱服務(wù)器138提供對存儲可被添加到網(wǎng)頁118的標(biāo)簽或關(guān)于標(biāo)簽的信息的標(biāo)簽儲存庫140的訪問。如上所述,術(shù)語“標(biāo)簽”指的是嵌入在網(wǎng)頁中的由HTML標(biāo)簽定界的一部分代碼。通常,標(biāo)簽采取腳本的形式。說明性標(biāo)簽120在圖1B-1E中示出,圖1B-1E是說明性的,因?yàn)闃?biāo)簽可以采取各種形式。這些標(biāo)簽不必存儲在儲存庫140中(其可以是第三方儲存庫)。為幫助解釋本發(fā)明的各方面,參考標(biāo)號142指的是標(biāo)簽儲存庫140中的特定標(biāo)簽。因此,在某些情況下,程序代碼120與標(biāo)簽142相同。雖然使用術(shù)語“特定標(biāo)簽”,但這樣做只意味著它指的是被插入到一個或多個網(wǎng)頁118中的代碼部分。即,標(biāo)簽142將針對不同的網(wǎng)頁而變得非常不同。但對它分配了參考標(biāo)號將幫助解釋本發(fā)明的實(shí)施例的不同方面。參考標(biāo)號142還將用于不同地指示“web分析”或“腳本”,如上所述,它們是本領(lǐng)域中用來描述添加到網(wǎng)頁中的允許跟蹤各種使用信息或呈現(xiàn)內(nèi)容的代碼部分的其他術(shù)語。不只是嵌入web分析,本發(fā)明還可嵌入展示廣告內(nèi)容的代碼。在一個實(shí)施例中,內(nèi)容提供者114提供廣告和其他內(nèi)容146。參考標(biāo)號148指示可嵌入在網(wǎng)頁118中的內(nèi)容標(biāo)簽或?qū)嶋H內(nèi)容。在某些情況下,內(nèi)容標(biāo)簽148可主存在標(biāo)簽儲存庫142中。說明性內(nèi)容標(biāo)簽在圖IE中示出。雖然出于參考目的被示意性地示出,但儲存庫140可駐留在操縱服務(wù)器138內(nèi)或作為操縱服務(wù)器138的一部分。類似地,廣告和其他內(nèi)容146可以構(gòu)成標(biāo)號144所參考的同一硬件(內(nèi)容提供者)的一部分。在操縱了網(wǎng)站之后,監(jiān)視服務(wù)150可以監(jiān)視與網(wǎng)頁118相關(guān)聯(lián)的使用信息。如上所述,說明性網(wǎng)頁使用信息包括關(guān)于對網(wǎng)頁的訪問的信息、在網(wǎng)頁上點(diǎn)擊的對象、在網(wǎng)站中查看的文檔、從網(wǎng)頁下載的下載、在網(wǎng)頁上激活的控件、用戶在網(wǎng)頁上交互的項(xiàng)、通過網(wǎng)頁呈現(xiàn)的對象等等??杀幌螺d的下載的示例有很多;少數(shù)幾個包括PDF文件(表單、產(chǎn)品手冊)、游戲或其他應(yīng)用程序的安裝程序、鈴聲、諸如MP3和WMA歌曲等音樂文件、屏幕保護(hù)應(yīng)用程序、背景“壁紙”圖像、整個軟件應(yīng)用程序、以及可被下載的任何其他事物。很明顯,上述列表只是web分析程序可以提供的信息的簡要概觀?,F(xiàn)在更詳細(xì)地討論各組件的特定方面。如上所述,客戶機(jī)應(yīng)用程序130可以提供變化的功能級別。在一個實(shí)施例中,其將標(biāo)簽插入到通常是網(wǎng)頁的文檔中。在某些實(shí)施例中,這些網(wǎng)頁存儲在本地,即存儲在客戶機(jī)設(shè)備126或耦合到客戶機(jī)設(shè)備126的諸如網(wǎng)絡(luò)尋址存儲設(shè)備(未示出)等存儲設(shè)備上。在一個實(shí)施例中,這些本地網(wǎng)頁可由應(yīng)用程序130修改,并隨后上傳到web服務(wù)器114。在其他實(shí)施例中,應(yīng)用程序130直接與網(wǎng)頁118交互,從而在web服務(wù)器114上修改它們。在并未示出的又一些實(shí)施例中,應(yīng)用程序130可以同樣獨(dú)自工作或與服務(wù)器側(cè)應(yīng)用程序136合作來修改位于又一遠(yuǎn)程目錄的影子文件或測試文件。在又一說明性實(shí)施例中,要加標(biāo)簽的內(nèi)容可以駐留在存儲器(如web服務(wù)器114的存儲器)內(nèi),并且可以在進(jìn)行中修改網(wǎng)頁118。并且如上所述,并非所有網(wǎng)頁118都必需是操縱對象。各個選項(xiàng)也是可用的,如操縱整個網(wǎng)站、所選目錄、所選文件、單個文件、若干頁面上的循環(huán)HTML元素、一個頁面上的單個HTML元素等等??蛻魴C(jī)應(yīng)用程序130可以用作各種目的。例如,第一說明性目的包括標(biāo)簽插入。標(biāo)簽代碼120(或只稱為“標(biāo)簽”)被嵌入在要被修改的網(wǎng)頁118中。在一個實(shí)施例中,加標(biāo)簽根據(jù)預(yù)定義的標(biāo)簽規(guī)則集合來發(fā)生,在某些實(shí)施例中,這些標(biāo)簽規(guī)則駐留在操縱服務(wù)器138上,并且在其他實(shí)施例中它們駐留在儲存庫140或web服務(wù)器114上(只要在使用規(guī)則時客戶機(jī)應(yīng)用程序130知道它的位置)。這些規(guī)則集合由標(biāo)號152來說明性地參考,并且在標(biāo)簽儲存庫140中說明性地示出。在一個實(shí)施例中,要被插入的標(biāo)簽120包括由用腳本語言編寫的程序代碼組成的腳本。一種說明性腳本語言是JavaScript。在一個實(shí)施例中,標(biāo)簽代碼120將插入在注釋或標(biāo)記之間,以簡化諸如檢測和替換等操作。這不是本發(fā)明所有實(shí)施例的要求。在某些實(shí)施例中,可能不包括標(biāo)記。但在其它實(shí)施例中,包括標(biāo)記以便使確定頁面是否已被操縱或檢查頁面錯誤的任務(wù)更容易。使用標(biāo)簽檢測的過程來檢測網(wǎng)頁是否已被加了標(biāo)簽。加標(biāo)簽可能已經(jīng)手動地、通過另一工具、或通過諸如此處描述的方法等方法而完成了。這一方面的目標(biāo)是靈活的并且嘗試檢測標(biāo)簽,即使它不完全與預(yù)期的標(biāo)簽按字符等同。標(biāo)簽檢測的過程包括刪除已加入到網(wǎng)頁118的標(biāo)簽120。標(biāo)簽替換允許用其他標(biāo)簽替換標(biāo)簽120。關(guān)于為什么這一點(diǎn)是合乎需要的存在著各個不同原因。頁面可能已經(jīng)用加標(biāo)簽規(guī)則152的先前版本加了標(biāo)簽,并且需要根據(jù)加標(biāo)簽規(guī)則的新版本來更新標(biāo)簽。或者,用戶126可以決定應(yīng)當(dāng)不同地操縱給定頁面。隨后同樣,用戶126可能想要改變組成嵌入代碼120的參數(shù)中的某一些的值。在某些實(shí)施例中,可以執(zhí)行作為刪除之后進(jìn)行插入的替換操作。標(biāo)簽中性化指的是消除與特定標(biāo)簽相關(guān)聯(lián)的功能的過程。已被手動地添加的標(biāo)簽可能難以提取和刪除。因此,標(biāo)簽中性化允許禁用這些標(biāo)簽。在一個實(shí)施例中,將要被中性化的這些標(biāo)簽注釋出來。頁面驗(yàn)證允許驗(yàn)證頁面在加標(biāo)簽操作之前和之后在詞法上都是有效的。S卩,本發(fā)明的這一方面允許驗(yàn)證嵌入的內(nèi)容120以其所應(yīng)當(dāng)?shù)姆绞讲僮?。在某些?shí)施例中,該過程允許驗(yàn)證JavaScript或其他代碼未被加標(biāo)簽操作損壞。可以結(jié)合本發(fā)明的各實(shí)施例使用許多不同類型的網(wǎng)頁118。例如,可以操縱有效的HTML文檔或不帶致命HTML錯誤的文檔。在某些實(shí)施例中,還可以使用諸如ASP、ASP.net、JSP、以及PHP等動態(tài)頁面??杀WC增加的檢查級別或可能沒有標(biāo)簽插入的錯誤的說明性示例包括各種情況,其中文檔的內(nèi)容不匹配META數(shù)據(jù)中的代碼頁;該文檔不是有效的UTF8文檔;該文檔不是有效的UTF16文檔;該文檔包含無效字符(如“0”字符);該文檔包含超過一個<HTML>標(biāo)簽;該文檔包含超過一個</HTML>標(biāo)簽;</HTML>標(biāo)簽位于<HTML>標(biāo)簽之前;該文檔不包含</HTML>標(biāo)簽;該文檔不包含與</HTML>標(biāo)簽相對應(yīng)的<HTML>標(biāo)簽;該文檔包括超過一個<HEAD>標(biāo)簽;該文檔包括超過一個</HEAD>標(biāo)簽;該文檔不包括</HEAD>標(biāo)簽;</HEAD>標(biāo)簽位于<HEAD>標(biāo)簽之前;該文檔不包括<B0DY>標(biāo)簽;該文檔包括超過一個<B0DY>標(biāo)簽;該文檔包括超過一個</B0DY>標(biāo)簽;</B0DY>標(biāo)簽位于<B0DY>標(biāo)簽之前;</B0DY>標(biāo)簽出現(xiàn)在<B0DY/>標(biāo)簽之后;<B0DY>標(biāo)簽出現(xiàn)在<HTML>標(biāo)簽之前;<B0DY>標(biāo)簽出現(xiàn)在<HEAD>標(biāo)簽之前;注釋未關(guān)閉;</HTML>標(biāo)簽出現(xiàn)在</B0DY>標(biāo)簽之前;<B0DY>標(biāo)簽出現(xiàn)在</HEAD>標(biāo)簽之前;</B0DY>未找到;找到關(guān)閉標(biāo)記而沒有打開標(biāo)記;在打開標(biāo)記之后找到打開標(biāo)記;找到雙重id;和/或該文檔是用不可識別的字符集編寫的。加標(biāo)簽規(guī)則152定義在選擇使用該規(guī)則的情況下應(yīng)當(dāng)應(yīng)用于頁面的文本檢測、插入、或替換、修改、中性化等操作。在某些實(shí)施例中,加標(biāo)簽規(guī)則152可以駐留在標(biāo)簽儲存庫140中??梢蚤_發(fā)包括用于不同產(chǎn)品的、供顧客126用來操縱網(wǎng)站的規(guī)則集合的標(biāo)簽庫。在這樣的實(shí)施例中,用于不同產(chǎn)品(例如,諸如監(jiān)視服務(wù)提供者所提供的那些產(chǎn)品)和用于同一產(chǎn)品的不同版本的標(biāo)簽規(guī)則庫在一個實(shí)施例中可以存儲并分發(fā)到中央位置。如上所述,說明性位置包括標(biāo)簽儲存庫140、操縱服務(wù)器138、或甚至web服務(wù)器114。這些規(guī)則152可以通過用戶界面132來載入并呈現(xiàn)給顧客。它們還可合并顧客選擇。這一方面提供靈活性并與盲目地在諸如只在<\B0DY>標(biāo)簽之前等固定位置插入代碼的任何現(xiàn)有技術(shù)相區(qū)別,如在伴隨本申請的信息公開語句中引用的Perl腳本。因此,作為顧客選擇的結(jié)果,不同的檢測/替換/插入規(guī)則集合可應(yīng)用于網(wǎng)站116的各頁面。該規(guī)則集合152與網(wǎng)頁內(nèi)容一起向客戶機(jī)應(yīng)用程序130提供輸入數(shù)據(jù)。在某些實(shí)施例中,插入規(guī)則包括插入點(diǎn)、插入位置、要插入的串、以及可用來在插入后容易地檢測頁面中的標(biāo)簽的規(guī)則標(biāo)識符。關(guān)于插入點(diǎn),本發(fā)明的實(shí)施例假定操縱代碼120的插入點(diǎn)可以由標(biāo)簽名稱(例如<B0DY>)或與該標(biāo)簽相關(guān)聯(lián)的屬性“id”的值來標(biāo)識?;蛘?,第一或最后標(biāo)簽可以用網(wǎng)頁118中存在的名稱來標(biāo)識。此外,可以用在客戶機(jī)應(yīng)用程序130中運(yùn)行并訪問要被操縱的網(wǎng)頁118的文檔對象模型(DOM)的自引導(dǎo)代碼來動態(tài)地處理更復(fù)雜的插入場景。文檔對象模型(DOM)是用于HTML和XML文檔的API。其提供文檔的結(jié)構(gòu)表示,從而允許修改其內(nèi)容和視覺呈現(xiàn)。實(shí)際上,它將網(wǎng)頁連接到腳本或編程語言。關(guān)于插入位置,在某些實(shí)施例中,插入規(guī)則152將允許用戶126在指定標(biāo)簽之前、內(nèi)部、或之后插入文本。在其他實(shí)施例中,可以選擇默認(rèn)規(guī)則以便用戶除啟動本發(fā)明之外無需與它進(jìn)行交互。在其他實(shí)施例中,可以作出用戶可從中進(jìn)行選擇的建議。例如,可展示給用戶的四個說明性選擇包括“在開頭之前插入(InsertBeforeStart)”、“在開頭之后插入(InsertAfterStart)”、“在結(jié)尾之前插入(InsertBeforeEnd)”、以及“在結(jié)尾之后插入(InsertAfterEnd)”。我們將提供每一個的示例?!霸陂_頭之前插入”。參考圖2描述“在框圖之前插入”規(guī)則。如圖所示,初始代碼段210服從該規(guī)則,其可采取產(chǎn)生結(jié)果214的說明性形式212。如在代碼部分214可以看至IJ,標(biāo)簽216在HTML源代碼的正文開頭之前插入,正文由參考標(biāo)號218來參考。將參考圖3來描述“在開頭之后插入”規(guī)則。轉(zhuǎn)向圖3,初始代碼部分310服從可采取參考標(biāo)號312所示出的產(chǎn)生結(jié)果314的說明性形式的規(guī)則。如可看到的,標(biāo)簽316在正文標(biāo)簽318以及第一<div>標(biāo)簽320之后插入。“在結(jié)尾之前插入”規(guī)則的說明性實(shí)現(xiàn)將參考圖4來描述?,F(xiàn)轉(zhuǎn)向圖4,初始代碼部分410服從具有被示為產(chǎn)生結(jié)果414的說明性格式的規(guī)則412。作為說明,結(jié)果414指示標(biāo)簽416在HTML源代碼的正文部分的結(jié)尾出現(xiàn),如相關(guān)HTML<B0DY>以及</B0DY>標(biāo)簽所描繪的,后者由標(biāo)號418表示?!霸诮Y(jié)尾之后插入”的說明性實(shí)現(xiàn)將參考圖5來描述,其中初始代碼部分510服從規(guī)則512,規(guī)則512包括被示為產(chǎn)生結(jié)果514的說明性格式。如在結(jié)果514中可看到的,標(biāo)簽516插入在結(jié)尾正文標(biāo)簽518之后。一般而言,在標(biāo)簽插入的情況下,插入點(diǎn)由標(biāo)簽的名稱以及可任選地由“id”屬性的值來定義。因此,在某些實(shí)施例中,每一標(biāo)簽的全部其他非“id”屬性以及HTML標(biāo)簽和〈script〉標(biāo)簽內(nèi)的文字內(nèi)容可被丟棄。詞法分析器可用來產(chǎn)生一系列令牌。詞法分析器接收HTML文本作為輸入并將提供與打開標(biāo)簽、關(guān)閉標(biāo)簽、屬性名、注釋等的檢測相對應(yīng)的一系列令牌。詞法分析器可形成客戶機(jī)應(yīng)用程序130或服務(wù)器側(cè)應(yīng)用程序136的一部分。參考圖6,將初始代碼部分610應(yīng)用于詞法分析器612的成果在框614中示出。驗(yàn)證頁面在句法上正確,指所有打開標(biāo)簽被關(guān)閉是不必要的。相反,本發(fā)明的實(shí)施例將等待具有給定名稱的標(biāo)簽。在找到該標(biāo)簽時,將該標(biāo)簽連同關(guān)于其打開和關(guān)閉標(biāo)簽的位置以及“id”屬性(如果存在)的信息插入到隊列中。在該解析的最后,作出是否存在滿足指定規(guī)則的插入點(diǎn)的判定。在一個實(shí)施例中,如果未找到標(biāo)簽,則插入失敗。否則,就知道了在文檔中的、要將標(biāo)簽插入到的確切位置。該確切位置可以作為參數(shù)之一傳遞給“插入”函數(shù)?!安迦搿焙瘮?shù)的另一參數(shù)是可用來編寫所插入代碼120的標(biāo)記的“插入規(guī)則id”的參數(shù)。這一功能可用于自動地更新自定義腳本的較舊版本,允許用戶選擇一個操縱提供者來代替另一個,或便于α/Β測試,Α/Β測試是用來描述便于對網(wǎng)站拓?fù)浣Y(jié)構(gòu)和交互進(jìn)行實(shí)驗(yàn)和變化的一個方面的術(shù)語;例如,向一些顧客展示第一組選項(xiàng)(“Α”)而向另一些顧客展示第二組選項(xiàng)(“B”),以及使用操縱來評估這兩種選項(xiàng)的比較效果。打開標(biāo)記的說明性格式如下“<!-[_{產(chǎn)物}_{規(guī)則id}_{版本}_->.’,關(guān)閉標(biāo)記的說明性格式如下“<!-[_{產(chǎn)物}_{規(guī)則id}_{版本}_->.’,這些僅是示例??梢园ㄆ渌?xiàng),如標(biāo)識符的時間戳,并可移除其他項(xiàng),如在下表中的那些項(xiàng)。打開標(biāo)記<!--[{唯一標(biāo)識符01;10}{年/月/日時關(guān)閉標(biāo)記<!--]_<!--[{唯一標(biāo)識符GUID}_-->表1在圖7B中示出標(biāo)記的更一般形式。但在以上示例中,“產(chǎn)物”是標(biāo)識作為操縱(如谷歌分析)主題的產(chǎn)物的固定部分?!耙?guī)則id”標(biāo)識規(guī)則標(biāo)識符,如配置數(shù)據(jù)庫所提供的整數(shù)。在一個實(shí)施例中,這可以從標(biāo)簽儲存庫140中檢索?!鞍姹尽睒?biāo)識適用于操縱的規(guī)則152的標(biāo)簽儲存庫140中的版本。一個說明性示例在圖7A中提供。并且圖7B示出更高層示例,其中開頭標(biāo)記(beginningmarker)710標(biāo)記嵌入代碼712(或120)的開頭并且結(jié)尾標(biāo)記(endingmarker)714標(biāo)記結(jié)尾。所插入的標(biāo)簽120的檢測和刪除可以使用HTML解析器并尋找包含具有指定產(chǎn)物和版本的標(biāo)記(如710和714)的一個或多個注釋標(biāo)簽來實(shí)現(xiàn)。如上所述,這提供一種簡易方式來檢測當(dāng)前嵌入的標(biāo)簽。當(dāng)然,以上僅是如何表示所輸入標(biāo)簽的一個示例。存在著表示標(biāo)簽的各種不同方式,但在某些實(shí)施例中,相比較而言更相關(guān)的方式是標(biāo)簽以某種方式表示以便可以搜索這些記號來容易地找到嵌入的標(biāo)簽。關(guān)于標(biāo)簽檢測,注意,web分析操縱腳本可與其他分析產(chǎn)物并存。在某些實(shí)施例中,這些不能兩次插入到同一頁面。在這樣的實(shí)施例中,在將新標(biāo)簽插入到頁面之前,驗(yàn)證這樣的標(biāo)簽未存在于頁面中是富有成效的。預(yù)先存在的操縱可能是手動地插入的,由網(wǎng)站內(nèi)容的所有者插入,或由另一工具自動地插入,或甚至由客戶機(jī)應(yīng)用程序130本身插入。像以上描述的那樣插入的標(biāo)簽相對易于標(biāo)識,因?yàn)樗麄冇上惹疤岬降臉?biāo)記所包圍。這些標(biāo)記(例如,710和714)定義這些標(biāo)簽的邊界。因此,這些類型的標(biāo)簽可以使用搜索這些標(biāo)記的方法來找到。但在其中不提供標(biāo)記或等效物的情況下,仍然可以檢查網(wǎng)頁的源代碼來查看要輸入的一代碼部分所專用的“代碼簽名”是否可被搜索到。例如,特定web分析產(chǎn)物具有代碼簽名。在檢測的上下文中,完美地定義代碼段的確切邊界并非特別重要。說明性代碼段如下“Scriptlanguage=JavaScript”SRC=http//χ.msn.com/scripts/acascript.js.一個目標(biāo)是正確地標(biāo)識正確的代碼段。為便于合乎需要的靈活性級別,可以通過正則表達(dá)式來指定代碼簽名。在這樣的場合下,檢測功能將通過將正則表達(dá)式應(yīng)用于頁面的內(nèi)容來實(shí)現(xiàn)。該功能將返回布爾結(jié)果“被加標(biāo)簽或未被加標(biāo)簽”,如果需要則連同關(guān)于標(biāo)簽代碼在頁面中的位置的信息一起返回。在網(wǎng)頁的上下文中,正則表達(dá)式不總是有效。所搜索的模式可以出現(xiàn)在頁面中的許多不同位置。例如,文本<B0DY>或</B0DY>可能出現(xiàn)在實(shí)際正文標(biāo)簽之前的腳本標(biāo)簽中所包含的串中。這在下表中示出<table>tableseeoriginaldocumentpage12</column></row><table>表2<table>tableseeoriginaldocumentpage12</column></row><table>表3為幫助避免錯誤,可以執(zhí)行一些對應(yīng)步驟。在尋找正則表達(dá)式匹配之前,可以預(yù)處理頁面來移除所有引起虛假匹配的部分。從實(shí)現(xiàn)的觀點(diǎn)來看,具有不同參數(shù)的類似預(yù)處理方案可用來實(shí)現(xiàn)任何加標(biāo)簽操作,包括檢測、替換、插入等。給定要加標(biāo)簽的頁面,預(yù)處理器將返回頁面的只包含應(yīng)用特定加標(biāo)簽操作所需的標(biāo)簽和屬性的最小集合的剝離版本。在一個實(shí)施例中,該剝離版本將只在內(nèi)部使用來精確地檢測標(biāo)簽的存在或標(biāo)識正確的插入點(diǎn)以及避免可能的假匹配。插入、檢測、替換的實(shí)際操作將在原始頁面上完成。在檢測的情況下,為找到預(yù)先存在的操縱代碼,在一個實(shí)施例中,預(yù)處理步驟將丟棄所有注釋以及HTML標(biāo)簽內(nèi)部的所有文字內(nèi)容。為使該過程更容易,可以使用頁面正規(guī)化。正規(guī)化相對照來進(jìn)行匹配的串是容易的,這將使正則表達(dá)式更簡單。在預(yù)處理期間,諸如空間、制表符、以及新行等空白可被轉(zhuǎn)換成單個空間。因此,各表達(dá)式之間具有多種空間的行可被簡化,以使他們只由單個空間來分開。關(guān)于標(biāo)簽替換或刪除,如上所述,在提供標(biāo)記的情況下,可使用HTML解析器來尋找其內(nèi)容與標(biāo)記的文本相匹配的注釋。在找到匹配時,包括在兩個標(biāo)記注釋(如710和714)之間的所有標(biāo)記可以從頁面中移除。標(biāo)記標(biāo)簽的替換可以通過從網(wǎng)頁中刪除所有已有標(biāo)記標(biāo)簽并隨后可能在不同的位置或使用不同的參數(shù)來重新插入新標(biāo)簽來實(shí)現(xiàn)。對于未標(biāo)記的標(biāo)簽,可以采用替換過程。一般而言,單個產(chǎn)物(諸如例如谷歌分析)的加標(biāo)簽在網(wǎng)頁的不同部分生成多個改變。將需要檢測這些改變,并且將定義正則表達(dá)式集合來指定要尋找的可能代碼段。因此,在一個實(shí)施例中,可以檢查普及的分析程序的列表以尋找對提供者的實(shí)現(xiàn)是唯一的代碼或在其他提供者的實(shí)現(xiàn)中找到的代碼,并且該列表可用作指示標(biāo)簽120的存在的短語或項(xiàng)的良好指示符。例如,考慮圖IC的說明性標(biāo)簽162??梢钥吹?,存在短語“URCHIN.JS”。該短語連同需要搜索的許多其他短語一起可擔(dān)當(dāng)在網(wǎng)頁集合中進(jìn)行搜索的查詢的基礎(chǔ)。因?yàn)閷?shí)際上比較難以移除與該代碼段相關(guān)聯(lián)的所有代碼,如162的代碼,所以在一個實(shí)施例中,這樣的代碼被中性化。例如,可以注釋出對已知產(chǎn)物的函數(shù)的所有調(diào)用。因?yàn)榇嬖诒举|(zhì)上損壞網(wǎng)頁的可能,所以本發(fā)明的一個實(shí)施例向用戶提供在發(fā)布他的頁面之前測試該頁面以確保它實(shí)際上未被損壞的能力。因此,在一個實(shí)施例中,跟蹤對特定網(wǎng)頁作出的所有改變。在出錯的情況下,這些改變隨后可以被取消并且可以恢復(fù)原始頁面。類似地,在一個實(shí)施例中,提供HTML驗(yàn)證過程。這樣的過程可以在加標(biāo)簽存在之前和之后驗(yàn)證HTML文檔的有效性。這可以用于測試目的,以及用來驗(yàn)證至少從HTML句法的觀點(diǎn)來看加標(biāo)簽未損壞頁面。這一功能可以使用上述HTML處理器/解析器來實(shí)現(xiàn)。為解釋要執(zhí)行的預(yù)處理步驟的變型,本發(fā)明可以采用頁面和文檔編碼。這一點(diǎn)的信息在microsoft,com/globaldev/getwr/steps/wrg_codepage.mspx(其通過弓I用結(jié)合于此以解釋編碼)提供,并且還在該文檔的IDS字段內(nèi)提供。在這樣的實(shí)施例中,可檢測代碼頁。這可以通過在該文檔的開頭檢測Unicode(統(tǒng)一代碼)BOM(字節(jié)序標(biāo)記)(參見例如Unicode.org/unicode/faq/utf_bom.html,其通過引用結(jié)合于此以解釋檢測Β0Μ),尋找網(wǎng)頁中<METAcharset=”...”/>的存在,和/或向用戶詢問正確的代碼頁來實(shí)現(xiàn)。在檢測之后,該頁面可被轉(zhuǎn)換成標(biāo)準(zhǔn)化格式,如UnicodeUTFie。HTML解析器在標(biāo)準(zhǔn)化版本上運(yùn)行以幫助便于插入/檢測/修改標(biāo)簽。如果需要,則所得的(UTF16)文檔可被轉(zhuǎn)換回原始代碼頁?,F(xiàn)在轉(zhuǎn)向圖8A-8M,提供了用戶界面132的更多細(xì)節(jié)。在一個實(shí)施例中,是通過瀏覽器128在客戶機(jī)設(shè)備126上將被呈現(xiàn)的屏幕畫面。如果客戶機(jī)應(yīng)用程序130是本地應(yīng)用程序,則將提供類似屏幕畫面但不必通過網(wǎng)絡(luò)瀏覽器128來呈現(xiàn),盡管即使應(yīng)用程序是本地獨(dú)立的應(yīng)用程序它們也可以通過網(wǎng)絡(luò)瀏覽器來呈現(xiàn)。屏幕畫面8A描繪用戶126在準(zhǔn)備操縱所需網(wǎng)站時將看到的說明性歡迎屏幕畫面,該所需網(wǎng)站出于該示例的目的是網(wǎng)站116,帶有的頁面118是能被或?qū)⒈徊倏v的頁面集合。如通過項(xiàng)810可看到的,該過程允許自動操縱。在一個實(shí)施例中,如在圖8B中所示,可以呈現(xiàn)另一屏幕畫面以允許用戶選擇選項(xiàng)來自動地將跟蹤腳本插入到可能所有網(wǎng)頁118。如在圖8B中由參考標(biāo)號812所示,如果需要,則自動加標(biāo)簽將插入跟蹤腳本到每一網(wǎng)頁中?,F(xiàn)轉(zhuǎn)向圖8C,屏幕畫面814提供用戶界面來接收使得能夠標(biāo)識網(wǎng)頁118的位置信息。其僅僅說明性地示出可以使用其中提供服務(wù)器和安全憑證的FTP范例。但情況也可能是可由按鈕818來瀏覽文件夾816以接收使得能夠標(biāo)識要操縱的網(wǎng)頁118的位置信息。這樣的文件夾不必物理上與客戶機(jī)應(yīng)用程序130或?yàn)g覽器128駐留在同一硬件中。相反,其可以通過網(wǎng)絡(luò)驅(qū)動器來到達(dá)。圖8D指示本發(fā)明準(zhǔn)備好開始將跟蹤腳本插入到網(wǎng)站116的每一頁面。提供設(shè)置按鈕820以允許對操縱進(jìn)行更多的自定義,諸如先前描述的那些和更多。在圖8E,可以看至IJ,本發(fā)明大約33%完成,已處理了3個文件,如參考標(biāo)號822所示。圖8F描繪示出所有9個文件824被處理并被成功嵌入標(biāo)簽的屏幕截圖,這由參考標(biāo)號826反映。如注釋828所示,跟蹤腳本120現(xiàn)在已插入,使得網(wǎng)站116準(zhǔn)備好收集訪問者或用戶信息。說明性跟蹤腳本安裝報告可以在圖8G中看到,這由標(biāo)號830來參考。該報告示出每一頁面以及可任選地通過某種方式,如“基本操縱”來指示是否插入了腳本。圖8H描繪示出本發(fā)明的允許自定義設(shè)置和要插入的跟蹤腳本的能力的屏幕畫面832。在此,允許用戶選擇特定文件夾和文件來嵌入自定義內(nèi)容。所示說明性自定義內(nèi)容是分析跟蹤腳本。圖81指示正在搜索被指示的目錄中的文件。如參考標(biāo)號834所示,示出已經(jīng)分析T4,215個文件?,F(xiàn)在轉(zhuǎn)向圖8J,該用戶界面的屏幕畫面840示出選項(xiàng)(諸如刷新跟蹤腳本的集合的能力842等)如何對用戶可用。同樣示出的是各個特征,如下載跟蹤、頁面重命名、以及事件跟蹤844,并且它們可由本發(fā)明的實(shí)施例使用。用戶可以點(diǎn)擊一個鏈接846來用跟蹤腳本刷新他的整個網(wǎng)站。遵循這樣的鏈接將允許根據(jù)可能在規(guī)則數(shù)據(jù)庫152中定義的新規(guī)則集合來刷新嵌入在所有頁面中的所有腳本。還可以跟蹤與下載文件相關(guān)聯(lián)的各方面。轉(zhuǎn)向圖8K,屏幕畫面848示出當(dāng)在網(wǎng)站116上下載時可以選擇具有特定擴(kuò)展名或文件類型的文件來跟蹤。此外,通過遵循鏈接850,用戶免于添加具有自定義擴(kuò)展名的附加文件。以此方式,本發(fā)明的實(shí)施例允許對下載進(jìn)行跟蹤。本發(fā)明的另一說明性特征在圖8L中示出。在此,可以作出“每頁面別名”選擇。這允許使用易于操作的別名或綽號來重新命名可能具有長文件名的文件。所示出的說明性頁面名稱包括分別由參考標(biāo)號854和856示出的“索引”和“我的頁面”。如在圖8M中所示,重命名這些頁面。注意,在圖8M中,項(xiàng)858現(xiàn)在與作為所需名稱改變的別名“購買”相關(guān)聯(lián),如在圖8L中由標(biāo)號858A所示。類似地,圖8M中的項(xiàng)860被從命名為“結(jié)賬”,如在圖8L中參考項(xiàng)860A所看到的。為了扼要重述本發(fā)明的實(shí)施例,提供了可被包括的嵌入服務(wù)的可擴(kuò)展集合。本發(fā)明便于修改網(wǎng)頁集合以使內(nèi)容廣告可以顯示在最高數(shù)量的位置中。同樣,在小配件/窗口小部件市場中,一些人用諸如web2.0項(xiàng)等可嵌入內(nèi)容制造出商業(yè)模型。本發(fā)明的一實(shí)施例使得能夠容易且自動地嵌入這些項(xiàng)。在社區(qū)類上下文中,如果社區(qū)內(nèi)容分布在第三方web內(nèi)容(例如,F(xiàn)lickr圖像、Soapbox視頻、LiveEarth地圖等)中,則其產(chǎn)生更多訪問者。還提供對HTML內(nèi)容的分析以確定可包括什么嵌入服務(wù)。本發(fā)明的實(shí)施例使得能夠?qū)γ恳荒繕?biāo)內(nèi)容進(jìn)行與所請求的嵌入服務(wù)的兼容性分析。標(biāo)簽自定義也成為可能。每一標(biāo)簽120可包含可自定義的參數(shù)。本發(fā)明的實(shí)施例展示幫助內(nèi)容發(fā)布者144或126使嵌入服務(wù)適應(yīng)它們的需求的用戶界面。還提供了將標(biāo)簽120插入到HTML文件中的正確位置。本發(fā)明可以檢測在目標(biāo)內(nèi)容118中要插入標(biāo)簽120的正確位置?;蛘?,對于特定類型的內(nèi)容148和/或142,本發(fā)明的實(shí)施例可以向用戶126展示一種在視覺上選擇位置的方式。例如,在其中要嵌入廣告內(nèi)容相關(guān)代碼148的實(shí)施例中,本發(fā)明的實(shí)施例可以接收確認(rèn)或指示代碼148/120的插入點(diǎn)的用戶輸入。因?yàn)檫@一類型的插入通常將改變頁面的布局,所以一實(shí)施例包括呈現(xiàn)經(jīng)修改的頁面將看起來如何的預(yù)覽的選項(xiàng)。用戶可以審閱插入廣告后的頁面布局??梢詫γ恳磺度敕?wù)存儲用戶配置信息和web目的地或其他位置信息。這使更新更容易。可能存儲在標(biāo)簽儲存庫140中的說明性配置信息包括所選嵌入服務(wù)、用戶參數(shù)、目標(biāo)內(nèi)容、頁面專用信息等。還可以提供附加特征。說明性的其他特征包括訂閱所建議的嵌入服務(wù)(利用各服務(wù)中常見的用戶標(biāo)識符,如電子郵件、分析等);同步(驗(yàn)證在web內(nèi)容中實(shí)現(xiàn)的當(dāng)前標(biāo)簽與用戶在自定義中需要的標(biāo)簽相匹配);刷新(用用戶所需的配置來自動更新web內(nèi)容);以及移除(從網(wǎng)站移除“嵌入標(biāo)簽”中的一些或全部)。這些特征在本質(zhì)上是說明性的,并且不構(gòu)成窮盡性列表,因?yàn)檫€有包含其他列表的情況。如上所述,本發(fā)明的實(shí)施例可采取各種實(shí)現(xiàn)。說明性實(shí)現(xiàn)包括在線工具、web內(nèi)容構(gòu)建工具插件、web服務(wù)器增強(qiáng)、內(nèi)容編輯平臺擴(kuò)展、和/或軟件開發(fā)工具包(SDK)的形式?,F(xiàn)在轉(zhuǎn)向圖9,提供了根據(jù)本發(fā)明的一實(shí)施例的說明性過程。作為預(yù)處理或先驅(qū)函數(shù),接收要配備操縱和/或嵌入內(nèi)容標(biāo)簽的網(wǎng)站的位置信息。該系統(tǒng)可能已經(jīng)知道網(wǎng)站的URL、文件夾位置、IP地址等,或其可以從用戶接收該數(shù)據(jù)。在步驟912,分析第一網(wǎng)頁的源代碼。如上所述,分析網(wǎng)頁的源代碼實(shí)際上可包括各個子步驟,包括分析網(wǎng)頁的副本或該網(wǎng)頁的剝離版本。在步驟914,自動地作出要嵌入的適當(dāng)?shù)臉?biāo)簽的判定。在某些實(shí)施例中,適當(dāng)?shù)臉?biāo)簽是要輸入的默認(rèn)標(biāo)簽。在其他實(shí)施例中,考慮用戶提供的信息來確定要嵌入的適當(dāng)?shù)臉?biāo)簽。在又一些實(shí)施例中,在該階段確定廣告內(nèi)容代碼部分。在步驟916,確定適當(dāng)?shù)那度胛恢谩T撨^程已在上文描述。確定了標(biāo)簽并且知道了插入點(diǎn),則在步驟918,將一個或多個標(biāo)簽自動地嵌入到網(wǎng)頁中。該過程可繼續(xù)進(jìn)行與要操縱的頁面一樣多的次數(shù)。因此,在步驟920,做出關(guān)于是否存在要操縱的附加頁面的判定。如果是,則處理回復(fù)到步驟912。如果否,則在一個實(shí)施例中,該過程可以結(jié)束。在步驟922,可發(fā)生允許驗(yàn)證嵌入內(nèi)容未造成對網(wǎng)頁的不合需要的更改的驗(yàn)證步驟。如果所添加的內(nèi)容是分析腳本,則網(wǎng)頁的外觀不應(yīng)改變。可以對網(wǎng)頁在插入之前和之后的外觀進(jìn)行某種方式的比較。這可按各種方式來發(fā)生。在一個實(shí)施例中,可以比較在插入之前以及插入之后的網(wǎng)頁大小或其他尺寸。如果任何變化超過某一閾值,則可以作出發(fā)生了不合需要的改變的假定。如果添加了廣告內(nèi)容,則假定該廣告的大小是已知的,那么可以進(jìn)行另一大小比較。例如,如果添加的內(nèi)容是60像素高,則可以檢查網(wǎng)頁的高度來查看其是否增加了60像素。在又一實(shí)施例中,可以向用戶呈現(xiàn)改變的預(yù)覽以接收是否存在任何可察覺的改變的指示。向用戶展示該選項(xiàng)是有價值的。還可以進(jìn)行功能檢查。至少從查看者124的觀點(diǎn)來看,附加分析代碼或廣告內(nèi)容不應(yīng)更改網(wǎng)頁的功能??梢宰詣拥販y試諸如鏈接和媒體呈現(xiàn)等事物,以及整個頁面的呈現(xiàn)。先前還解釋了驗(yàn)證的各方面(參見描述文檔編碼的一節(jié))。在某些實(shí)施例中,本發(fā)明不顯式地檢查來確定所插入的代碼120是否損壞美觀或已有功能本身。在這些實(shí)施例中,對DOM執(zhí)行檢查來分析已有DOM在添加并隨后移除該腳本的操作之后是否保持相同。調(diào)回文檔對象模型(DOM)提供文檔的結(jié)構(gòu)表示。所執(zhí)行的檢查確保在插入之前已處于頁面中的內(nèi)容作為插入的結(jié)果未被損壞。例如如果對頁面中按鈕的點(diǎn)擊改變圖像在同一頁面上的源,則自動地添加跟蹤腳本120將不損壞該已有功能。同樣,添加跟蹤腳本120不改變該頁面的布局。一般而言,不對頁面的呈現(xiàn)、交互、以及數(shù)據(jù)/應(yīng)用程序功能發(fā)生改變。但添加廣告腳本將改變頁面的布局。即使這樣,本發(fā)明的實(shí)施例確保頁面上在插入之前已有的功能不被損壞??梢詫Σ倏v功能進(jìn)行改變?!俺尸F(xiàn)”指的是頁面的視覺布局和外觀?!敖换ァ敝傅氖蔷幋a到頁面中的像JavaScriptmouseover事件、表單控件等行為(存在多個選項(xiàng))?!皵?shù)據(jù)/應(yīng)用程序”指的是頁面所進(jìn)行的實(shí)際工作,例如處理電子商務(wù)交易、從數(shù)據(jù)庫中檢索用戶的賬戶余額并將其向他們示出等等。測試錯誤或開發(fā)排除規(guī)則的一種方式包括將標(biāo)簽插入頁面集合(可能有數(shù)千或數(shù)百萬)并隨后移除它們。可以在頁面上進(jìn)行按字節(jié)及DOM比較。如果比較之一未能返回相等的結(jié)果,則認(rèn)為加標(biāo)簽至少對于該頁面是失敗的??梢员4媸〉臉?biāo)簽頁面并分析其內(nèi)容來標(biāo)識頁面中的什么錯誤損壞該次加標(biāo)簽。如果知道替換方案,則可以創(chuàng)建標(biāo)簽修理。如果不存在替換方案,則添加該頁面錯誤作為排除規(guī)則之一。一種替換方式是在進(jìn)行中對所瀏覽的隨機(jī)頁面加標(biāo)簽。對所有這樣的頁面加標(biāo)簽。稍后,撤消它們的標(biāo)簽。如上所述,進(jìn)行比較并采取動作?,F(xiàn)在轉(zhuǎn)向圖10,提供了用于實(shí)施本發(fā)明的實(shí)施例的另一方法并由標(biāo)號1000概括參考。在該實(shí)施例中,在步驟1010,向用戶呈現(xiàn)接收描述要經(jīng)由跟蹤腳本來操縱的所需網(wǎng)站的描述性信息的用戶界面。在一個實(shí)施例中,這樣的用戶界面可以采取圖8A-8M的一個或多個屏幕畫面的形式。在步驟1012,將跟蹤腳本自動地安裝到網(wǎng)站的網(wǎng)頁集合中。如上所述,可以在無需用戶干預(yù)的情況下自動地確定位置并且選擇并嵌入腳本。在步驟1014,呈現(xiàn)用于接收要跟蹤的事件的用戶界面。這些步驟不必以任何特定次序出現(xiàn)。在某些實(shí)施例中,在接收到與腳本相關(guān)聯(lián)的不同參數(shù)之前將腳本嵌入在網(wǎng)頁中是有用的。在其他實(shí)施例中,這些步驟可被合并或甚至是逆序,以便甚至在安裝跟蹤腳本之前向用戶呈現(xiàn)用戶界面來接收要跟蹤的事件的指示。并且在接收到要跟蹤的事件的這些指示之后,則安裝跟蹤腳本。用于接收要跟蹤的事件等的指示的用戶界面的示例可以在屏幕畫面8H、8J、8K、8L、以及8M中找到。在步驟1016,所輸入的跟蹤腳本可以基于事件跟蹤指示來自動地更新。因此,在該實(shí)施例中,用戶可以進(jìn)行附加改變,這在同樣無需用戶干預(yù)的情況下自動更新的更新腳本中反映。在步驟1018,可以測試安裝跟蹤腳本的影響。在一個實(shí)施例中,該過程類似于圖9的922的過程。在不背離本發(fā)明的精神和范圍的情況下,所描繪的各組件以及未示出的組件的許多不同的安排都是可能的。已帶著說明性而非限制性的意圖描述了本發(fā)明的各實(shí)施例。不背離其范圍的各替換實(shí)施例對本領(lǐng)域的技術(shù)人員將是顯而易見的。技術(shù)人員可以開發(fā)實(shí)現(xiàn)上述改進(jìn)的各替換手段而不背離本發(fā)明的范圍。可以理解,特定的特征和子組合是有用的,并且可以使用而無需參考其他特征和子組合并且被認(rèn)為是在權(quán)利要求書的范圍之內(nèi)的。并非需要以所描述的特定次序來執(zhí)行在各附圖中所列出的所有步驟。權(quán)利要求一種用于自動地配置一個或多個網(wǎng)頁來跟蹤網(wǎng)頁使用信息(“使用信息”)的方法,所述方法包括分析所述一個或多個網(wǎng)頁來確定具有支持插入便于跟蹤所述使用信息的標(biāo)簽結(jié)構(gòu)120的結(jié)構(gòu)的網(wǎng)頁集合118;以及對于所述網(wǎng)頁集合118中的每一網(wǎng)頁(1)基于所述分析,自動地標(biāo)識用于插入所述標(biāo)簽結(jié)構(gòu)120的插入點(diǎn),以及(2)自動地在所述插入點(diǎn)嵌入所述標(biāo)簽結(jié)構(gòu)120,其中能夠跟蹤關(guān)于所述網(wǎng)頁的使用信息。2.如權(quán)利要求1所述的方法,其特征在于,所述分析便于從要嵌入在被分析的網(wǎng)頁中的多個可能的標(biāo)簽結(jié)構(gòu)中自動地標(biāo)識標(biāo)簽結(jié)構(gòu),以使不同的網(wǎng)頁可以接收不同的標(biāo)簽結(jié)構(gòu)。3.如權(quán)利要求1所述的方法,其特征在于,對所述一個或多個網(wǎng)頁分析包括對一個或多個文檔進(jìn)行分析以確定它們是否包括不可恢復(fù)的HTML錯誤,并且如果是,則執(zhí)行以下中的一個或多個呈現(xiàn)所述不可恢復(fù)錯誤的指示;放棄加標(biāo)簽;以及執(zhí)行默認(rèn)操作。4.如權(quán)利要求1所述的方法,其特征在于,所述標(biāo)簽結(jié)構(gòu)包括由打開標(biāo)簽標(biāo)記和關(guān)閉標(biāo)簽標(biāo)記定界的代碼部分。5.如權(quán)利要求1所述的方法,其特征在于,所述標(biāo)簽結(jié)構(gòu)可以基于用戶輸入或配置來接收參數(shù)。6.如權(quán)利要求5所述的方法,其特征在于,所述腳本便于實(shí)驗(yàn)與變化的網(wǎng)站拓?fù)浣Y(jié)構(gòu)的用戶交互,并且其中所述實(shí)驗(yàn)包括以下中的一個或多個A/B測試;以及多變量測試。7.如權(quán)利要求1所述的方法,其特征在于,自動地嵌入所述標(biāo)簽結(jié)構(gòu)包括嵌入服從可訪問規(guī)則的集合的標(biāo)簽結(jié)構(gòu)。8.如權(quán)利要求1所述的方法,其特征在于,還包括提供驗(yàn)證,所述驗(yàn)證是所嵌入的標(biāo)簽結(jié)構(gòu)相對于所述網(wǎng)頁在嵌入所述標(biāo)簽結(jié)構(gòu)之前的功能而言未對所述網(wǎng)頁造成不合需要的更改。9.如權(quán)利要求1所述的方法,其特征在于,還包括呈現(xiàn)用戶界面132,所述用戶界面132允許通過向該用戶界面132提供數(shù)據(jù)來修改所述標(biāo)簽結(jié)構(gòu),從而不需要用戶126編輯網(wǎng)頁的源代碼;以及隨著通過所述用戶界面132接收輸入來自動地修改所述標(biāo)簽結(jié)構(gòu)。10.如權(quán)利要求1所述的方法,其特征在于,還包括收集用戶配置信息并將其存儲在儲存庫140中以供將來重新收集。11.如權(quán)利要求1所述的方法,其特征在于,還包括存儲描述對所述網(wǎng)頁進(jìn)行的改變的改變信息;以及便于進(jìn)行撤消過程,該過程通過利用所述改變信息對任何的改變實(shí)行逆轉(zhuǎn)。12.如權(quán)利要求1所述的方法,其特征在于,還包括檢查所述網(wǎng)頁以尋找當(dāng)前存在的標(biāo)簽,以及更新或刪除這些標(biāo)簽,其中所述標(biāo)簽包括與通過如權(quán)利要求1所述的方法所嵌入的那些標(biāo)簽所不同的標(biāo)簽。13.—個或多個其上包含用于執(zhí)行一種自動地操縱一個或多個網(wǎng)頁的方法的計算機(jī)可執(zhí)行指令的計算機(jī)可讀介質(zhì),所述方法包括自動地確定要被修改來接收定制內(nèi)容的網(wǎng)頁集合118;對于所述網(wǎng)頁集合中的每一網(wǎng)頁,(1)自動地分析所述網(wǎng)頁來從應(yīng)被嵌入到所述網(wǎng)頁中的多個標(biāo)簽結(jié)構(gòu)142或148中確定適當(dāng)?shù)臉?biāo)簽結(jié)構(gòu)120,(2)自動地解析所述網(wǎng)頁來確定所述網(wǎng)頁中將不影響所述網(wǎng)頁的功能的插入點(diǎn),以及(3)自動地在所述插入點(diǎn)處嵌入所述適當(dāng)?shù)臉?biāo)簽結(jié)構(gòu)142或148,從而使得能夠?qū)⑺龆ㄖ苾?nèi)容120嵌入到所述網(wǎng)頁。14.如權(quán)利要求13所述的介質(zhì),其特征在于,所述計算機(jī)可執(zhí)行指令構(gòu)成以下中的一個或多個基于web的應(yīng)用程序;以及獨(dú)立的非基于web的應(yīng)用程序的附加。15.如權(quán)利要求13所述的介質(zhì),其特征在于,所述標(biāo)簽結(jié)構(gòu)便于以下中的一個或多個跟蹤與所述網(wǎng)頁相關(guān)聯(lián)的訪問事件;呈現(xiàn)廣告內(nèi)容146;進(jìn)行A/B測試;以及進(jìn)行應(yīng)用于跨越指定文檔集合的多變量測試。16.如權(quán)利要求13所述的介質(zhì),其特征在于,自動地嵌入所述適當(dāng)?shù)臉?biāo)簽結(jié)構(gòu)包括引用儲存庫140或146,其中存儲了與要在其中嵌入所述標(biāo)簽結(jié)構(gòu)的網(wǎng)頁相關(guān)聯(lián)的配置信息或規(guī)則152。17.如權(quán)利要求13所述的介質(zhì),其特征在于,還包括驗(yàn)證所嵌入的標(biāo)簽結(jié)構(gòu)未造成對所述網(wǎng)頁的不合需要的更改。18.一種用于將內(nèi)容標(biāo)簽自動地嵌入到網(wǎng)頁以便在作出查看所述網(wǎng)頁的請求時實(shí)時地修改所述網(wǎng)頁的內(nèi)容的系統(tǒng),所述系統(tǒng)包括主存包括網(wǎng)頁集合118的網(wǎng)站的服務(wù)器114,所述網(wǎng)頁集合的內(nèi)容要被修改以接收嵌入在所述網(wǎng)頁中的內(nèi)容120;存儲儲存庫140或146,該存儲儲存庫被耦合到所述服務(wù)器114并存儲分別將標(biāo)簽信息142或148與所述網(wǎng)頁集合中的每一網(wǎng)頁相關(guān)聯(lián)的配置信息;以及提供對計算機(jī)可執(zhí)行指令集合130或136的訪問的存儲器138,所述計算機(jī)可執(zhí)行指令集合提供在相應(yīng)插入點(diǎn)處將所述嵌入內(nèi)容120自動地插入到所述網(wǎng)頁而沒有不合需要地更改所述網(wǎng)頁的外觀或功能的能力。19.如權(quán)利要求18所述的系統(tǒng),其特征在于,所述嵌入內(nèi)容包括以下一個或多個廣告內(nèi)容148;web分析142,允許收集關(guān)于所述網(wǎng)站的訪問事件的信息;媒體148,諸如視頻、圖像、音頻、地圖、來自專門網(wǎng)站的動畫片、以及幻燈片等;編程內(nèi)容148,諸如包括例如小應(yīng)用程序、flash對象、嵌入程序、以及即時消息收發(fā)服務(wù)等;網(wǎng)站小配件148,諸如訪客留言簿、調(diào)查、以及新聞簡報等;以及Web2.O項(xiàng)148,諸如標(biāo)簽云、RSS饋源、以及wiki等。20.如權(quán)利要求18所述的系統(tǒng),其特征在于,還包括與所述服務(wù)器和所述存儲儲存庫140或146進(jìn)行通信的通知組件122,其伴隨著請求查看特定網(wǎng)頁來引用所述存儲儲存庫140或146以檢索與所述特定網(wǎng)頁相關(guān)聯(lián)的標(biāo)簽信息142或148,并實(shí)時地在插入點(diǎn)自動地插入所述標(biāo)簽信息,以使所述特定網(wǎng)頁在嵌入了所述標(biāo)簽信息的情況下呈現(xiàn)給請求者124。21.如權(quán)利要求18所述的系統(tǒng),其特征在于,所述存儲儲存庫存儲以下一個或多個可用于嵌入的服務(wù);用于每一嵌入服務(wù)的標(biāo)簽;關(guān)于文件中位置的包括所需和可任選參數(shù)的標(biāo)簽信息;可被包括在所述嵌入內(nèi)容中的參數(shù)的類型;具體的格式化要求;用于確認(rèn)網(wǎng)頁的規(guī)則;用于確定插入點(diǎn)的規(guī)則;用于嵌入內(nèi)容的規(guī)則;用于所述嵌入內(nèi)容的參數(shù)選項(xiàng);以及用于所述網(wǎng)頁中的一個或多個的標(biāo)簽配置信息。22.如權(quán)利要求18所述的系統(tǒng),其特征在于,至少部分地通過接收來自用戶的輸入來確定所述相應(yīng)插入點(diǎn)中的一個或多個。全文摘要本發(fā)明的實(shí)施例提供一種方法和系統(tǒng),用于自動地操縱諸如網(wǎng)頁等web文檔的集合以及嵌入經(jīng)由網(wǎng)頁呈現(xiàn)廣告內(nèi)容的結(jié)構(gòu)。該操縱自動地嵌入標(biāo)簽,該標(biāo)簽使得能夠跟蹤和記錄與web文檔相關(guān)聯(lián)的使用信息。可以在無需用戶干預(yù)的情況下自動地修改數(shù)百或數(shù)千網(wǎng)頁,從而使得能夠?qū)γ恳豁撁鎴?zhí)行全面報告和跟蹤。分析網(wǎng)頁并智能地定位插入點(diǎn)??梢则?yàn)證改變來確保嵌入內(nèi)容沒有得到不合需要的效果。這些標(biāo)簽可以接收根據(jù)用戶和頁面的級別來定制的參數(shù)。標(biāo)簽、插入信息、以及其他配置信息可以存儲在中央儲存庫中以使得后續(xù)加標(biāo)簽更容易。文檔編號G06Q50/00GK101821764SQ200880111437公開日2010年9月1日申請日期2008年9月23日優(yōu)先權(quán)日2007年10月12日發(fā)明者C·科斯塔凱,D·C·史蒂文森,D·特多西,E·奇格曼,E·格蘭特,K·伯奇克,O·達(dá)布羅斯基,P·賽文尼申請人:微軟公司