亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

針對(duì)web兼容性和互操作性的代碼顧問(wèn)的制作方法

文檔序號(hào):6363659閱讀:154來(lái)源:國(guó)知局
專利名稱:針對(duì)web兼容性和互操作性的代碼顧問(wèn)的制作方法
針對(duì)web兼容性和互操作性的代碼顧問(wèn)
背景技術(shù)
以前,當(dāng)改變web平臺(tái)時(shí),開(kāi)發(fā)者不易于識(shí)別在其網(wǎng)站上的網(wǎng)頁(yè)在利用新web平臺(tái)時(shí)是否會(huì)遇到問(wèn)題。因此,開(kāi)發(fā)者不得不讀取關(guān)于新平臺(tái)的文檔并手動(dòng)地跟蹤代碼變化以評(píng)估兼容性和互操作性問(wèn)題。可替換地,開(kāi)發(fā)者不得不運(yùn)行針對(duì)源代碼的表達(dá)以執(zhí)行源代碼分析?,F(xiàn)有工具通常為靜態(tài)的且常常并不提供對(duì)于兼容性問(wèn)題所需的沖突解決方案。

發(fā)明內(nèi)容
提供此發(fā)明內(nèi)容以便以簡(jiǎn)化形式介紹概念的選擇,這些概念將在下面在具體實(shí)施方式
中進(jìn)一步描述。此發(fā)明內(nèi)容不預(yù)期標(biāo)識(shí)所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不預(yù)期用于限制所要求保護(hù)的主題的范圍。各種實(shí)施例提供調(diào)查工具以使得網(wǎng)頁(yè)內(nèi)容能夠得以分析。在至少一些實(shí)施例中, 以下被稱作“代碼顧問(wèn)”的調(diào)查工具允許跟蹤應(yīng)用編程接口(API)的使用。通過(guò)在網(wǎng)頁(yè)腳本執(zhí)行時(shí)跟蹤API使用,代碼顧問(wèn)能確定關(guān)于網(wǎng)頁(yè)內(nèi)容是否存在兼容性和/或互操作性問(wèn)題。如果確實(shí)存在問(wèn)題,那么在至少一些實(shí)施例中,代碼顧問(wèn)能選擇與該問(wèn)題相關(guān)聯(lián)的一個(gè)或多個(gè)消息且能提供指南以使得該問(wèn)題能得以解決。


在所有附圖中使用相同的附圖標(biāo)記來(lái)表示同樣的特征。圖I圖示了其中本文所述的各種原理可以根據(jù)一個(gè)或多個(gè)實(shí)施例采用的操作環(huán)境。圖2圖示了可以根據(jù)一個(gè)或多個(gè)實(shí)施例采用的系統(tǒng)架構(gòu)。圖3圖示了根據(jù)一個(gè)或多個(gè)實(shí)施例的web瀏覽器調(diào)查工具用戶接口。圖4圖示了根據(jù)一個(gè)或多個(gè)實(shí)施例的web瀏覽器調(diào)查工具用戶接口的各方面。圖5圖示了根據(jù)一個(gè)或多個(gè)實(shí)施例的web瀏覽器調(diào)查工具用戶接口的問(wèn)題解決方案方面。圖6圖示了根據(jù)一個(gè)或多個(gè)實(shí)施例的web瀏覽器調(diào)查工具用戶接口和仿真網(wǎng)頁(yè)。圖7是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的方法中的步驟的流程圖。圖8圖示了能用于實(shí)施一個(gè)或多個(gè)實(shí)施例的實(shí)例系統(tǒng)。
具體實(shí)施例方式概述
各種實(shí)施例提供調(diào)查工具,被稱作“代碼顧問(wèn)”,以使得網(wǎng)頁(yè)內(nèi)容能得以分析。在至少一些實(shí)施例中,代碼顧問(wèn)允許跟蹤應(yīng)用編程接口(API)的使用。通過(guò)在網(wǎng)頁(yè)腳本執(zhí)行時(shí)跟蹤API使用,代碼顧問(wèn)能確定關(guān)于網(wǎng)頁(yè)內(nèi)容是否存在任何兼容性和/或互操作性問(wèn)題。如果確實(shí)存在問(wèn)題,則在至少一些實(shí)施例中,代碼顧問(wèn)能選擇與該問(wèn)題相關(guān)聯(lián)的一個(gè)或多個(gè)消息且能提供指南以使得該問(wèn)題能得以解決。如本文所使用的,術(shù)語(yǔ)“問(wèn)題”將被理解為以實(shí)例而非限制的方式包括與網(wǎng)頁(yè)與web瀏覽器交互的方式相關(guān)聯(lián)的兼容性和/或互操作性問(wèn)題。在至少一些實(shí)施例中,如果識(shí)別出問(wèn)題,則可以為用戶或開(kāi)發(fā)者顯示消息。消息能提供問(wèn)題的描述使得開(kāi)發(fā)者被告知該問(wèn)題。作為替代或作為補(bǔ)充,消息能提供旨在減輕問(wèn)題的可選的修復(fù)(fix)選項(xiàng)。該修復(fù)選項(xiàng)當(dāng)被選擇時(shí)能動(dòng)態(tài)地提供針對(duì)該問(wèn)題的修復(fù)。在一些情況下,動(dòng)態(tài)修復(fù)能仿真網(wǎng)頁(yè)預(yù)期的行為,因此提 供關(guān)于該問(wèn)題的立即反饋以及在至少一些情況下提供其解決方案。在下文的討論中,提供標(biāo)題為“操作環(huán)境”的部分且其描述了其中能采用一個(gè)或多個(gè)實(shí)施例的一個(gè)環(huán)境。之后,標(biāo)題為“實(shí)例實(shí)施例”的部分描述了其中可采用代碼顧問(wèn)的實(shí)例實(shí)施例。接下來(lái),標(biāo)題為“實(shí)例方法”的部分描述了根據(jù)一個(gè)或多個(gè)實(shí)施例的方法。最后,標(biāo)題為“實(shí)例系統(tǒng)”的部分描述了能用于實(shí)施一個(gè)或多個(gè)實(shí)施例的系統(tǒng)?,F(xiàn)考慮其中能實(shí)施一個(gè)或多個(gè)實(shí)施例的實(shí)例操作環(huán)境。操作環(huán)境
圖I大體上以100圖示出根據(jù)一個(gè)或多個(gè)實(shí)施例的操作環(huán)境。環(huán)境100包括計(jì)算設(shè)備102,計(jì)算設(shè)備102具有一個(gè)或多個(gè)處理器104,一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)106和駐留在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上且可由處理器(一個(gè)或多個(gè))執(zhí)行的一個(gè)或多個(gè)應(yīng)用108。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以實(shí)例而非限制的方式包括通常與計(jì)算設(shè)備相關(guān)聯(lián)的所有形式的易失性和非易失性存儲(chǔ)器和/或存儲(chǔ)介質(zhì)。這樣的介質(zhì)能包括ROM、RAM、閃存、硬盤(pán)、可移動(dòng)的介質(zhì)等等。計(jì)算設(shè)備的一個(gè)具體實(shí)例在下面在圖8中示出和描述。此外,計(jì)算設(shè)備102包括呈web瀏覽器110形式的軟件應(yīng)用??墒褂萌魏魏线m的web瀏覽器,其實(shí)例可從本文件的受讓人和其它途徑獲得。此外,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)106可包括代碼顧問(wèn)111,代碼顧問(wèn)111如上下文所述那樣操作。代碼顧問(wèn)111能實(shí)施為獨(dú)立組件,其可由應(yīng)用108和瀏覽器110利用。作為替代或作為補(bǔ)充,代碼顧問(wèn)111能實(shí)施為應(yīng)用108或?yàn)g覽器110的部分,例如瀏覽器開(kāi)發(fā)工具。在一個(gè)或多個(gè)實(shí)施例中,代碼顧問(wèn)111能訪問(wèn)或另外地利用位于計(jì)算設(shè)備102上的模塊,例如本地模塊112。本地模塊112可為與代碼顧問(wèn)和其功能相關(guān)聯(lián)的庫(kù)模塊。作為補(bǔ)充或替代,本地模塊112可為被創(chuàng)建以供瀏覽器110使用的定制模塊。模塊實(shí)例在下文中描述。在操作中,代碼顧問(wèn)模塊111結(jié)合從網(wǎng)站接收的網(wǎng)頁(yè)內(nèi)容執(zhí)行。代碼顧問(wèn)111能在構(gòu)成瀏覽器平臺(tái)的API上注冊(cè)一個(gè)或多個(gè)超馳(override)。這允許代碼顧問(wèn)111有效地“纏繞”API并監(jiān)視與API及其由特定網(wǎng)頁(yè)的使用相關(guān)聯(lián)的輸入、狀態(tài)和輸出值。因此,當(dāng)由網(wǎng)頁(yè)調(diào)用特定API時(shí),代碼顧問(wèn)111攔截該調(diào)用且將該調(diào)用重導(dǎo)向至相關(guān)聯(lián)的模塊,例如本地模塊112之一。該模塊可以知道所述API、它的操作以及它在操作情形下應(yīng)如何執(zhí)行。因此,設(shè)計(jì)模塊以檢查與API調(diào)用相關(guān)聯(lián)的參數(shù)和值并評(píng)估是否存在兼容性或互操作性問(wèn)題。API參數(shù)和值的檢查以及因此是否存在與API相關(guān)聯(lián)的特定問(wèn)題的確定,使得代碼顧問(wèn)111能夠在適合時(shí)選擇可顯示的消息,可以顯示該可顯示的消息以提供關(guān)于該問(wèn)題的信息并在至少一些實(shí)施例中提供其解決方案。此外,環(huán)境100包括諸如因特網(wǎng)的網(wǎng)絡(luò)116和一個(gè)或多個(gè)網(wǎng)站118,可從這些網(wǎng)站接收內(nèi)容或向這些網(wǎng)站發(fā)送內(nèi)容。這樣的內(nèi)容可包括網(wǎng)頁(yè)內(nèi)容,諸如HTML、腳本等等,其可由代碼顧問(wèn)111如上下文中所述的那樣操作。網(wǎng)絡(luò)116也可表示內(nèi)聯(lián)網(wǎng),計(jì)算設(shè)備102可通過(guò)內(nèi)聯(lián)網(wǎng)與一個(gè)或多個(gè)網(wǎng)絡(luò)設(shè)備120通信。網(wǎng)絡(luò)設(shè)備120可實(shí)施為任何網(wǎng)絡(luò)設(shè)備,諸如(以實(shí)例而非限制的方式)網(wǎng)絡(luò)服務(wù)器;臺(tái)式計(jì)算機(jī);便攜式計(jì)算機(jī);手持計(jì)算機(jī)(例如個(gè)人數(shù)字助理(PDA))、蜂窩電話等等。網(wǎng)絡(luò)設(shè)備120也可包含可由代碼顧問(wèn)111訪問(wèn)和加載的模塊。這些模塊可以包括遠(yuǎn)程模塊122和共用模塊124。能由第三方開(kāi)發(fā)者創(chuàng)建和共用這些共用模塊124。計(jì)算設(shè)備102可實(shí)施為任何合適的計(jì)算設(shè)備,諸如(以實(shí)例而非限制的方式)臺(tái)式計(jì)算機(jī);便攜式計(jì)算機(jī);手持計(jì)算機(jī)(例如個(gè)人數(shù)字助理(PDA))、蜂窩電話等等。已描述了實(shí)例操作環(huán)境,現(xiàn)考慮如何根據(jù)一個(gè)或多個(gè)實(shí)施例執(zhí)行問(wèn)題檢測(cè)的討論。實(shí)例實(shí)施例 圖2大體上以200圖示出根據(jù)一個(gè)或多個(gè)實(shí)施例的實(shí)例架構(gòu)。在此實(shí)施例中,由代理204接收網(wǎng)頁(yè)HTML 202。代理204包括注入器206,注入器206被配置成在網(wǎng)頁(yè)HTML 202開(kāi)始處插入一個(gè)或多個(gè)腳本元素,其組合由腳本元素/網(wǎng)頁(yè)HTML 208圖解地表示。插入的腳本元素可為任何合適類型的腳本元素,包括(以實(shí)例而非限制的方式)Java腳本元素等等。腳本元素(一個(gè)或多個(gè))使得附加的代碼能夠由瀏覽器在執(zhí)行網(wǎng)頁(yè)HTML 202之前來(lái)執(zhí)行。在另一實(shí)施例中,腳本元素(一個(gè)或多個(gè))可與網(wǎng)頁(yè)HTML同時(shí)執(zhí)行。在圖示和描述的實(shí)施例中,瀏覽器210包括加載器模塊212、注冊(cè)模塊214、代碼顧問(wèn)216和一個(gè)或多個(gè)模塊222。在一個(gè)實(shí)施例中,加載器模塊212接收腳本元素/網(wǎng)頁(yè)HTML 208。在接收腳本元素/網(wǎng)頁(yè)HTML 208時(shí),加載器模塊212加載包括代碼顧問(wèn)216的架構(gòu)框架。此外,加載器模塊212也可加載一個(gè)或多個(gè)模塊222,其被設(shè)計(jì)成分析API調(diào)用,如上下文所述的那樣。盡管圖2將代碼顧問(wèn)216和模塊222圖示為位于瀏覽器210內(nèi),不預(yù)期將代碼顧問(wèn)216和模塊222描繪為限于這一個(gè)實(shí)施例。照此,代碼顧問(wèn)216可在瀏覽器210 “頂部”運(yùn)行。作為替代或補(bǔ)充,模塊222可在瀏覽器頂部運(yùn)行且可或可不與代碼顧問(wèn)216整合。在一個(gè)或多個(gè)實(shí)施例中,注冊(cè)模塊214允許模塊222向代碼顧問(wèn)216注冊(cè)代碼以在由網(wǎng)頁(yè)調(diào)用應(yīng)用編程接口(API)之前或之后執(zhí)行。因此,模塊222向注冊(cè)模塊214注冊(cè)代碼以便指導(dǎo)代碼顧問(wèn)216 “纏繞”相關(guān)聯(lián)的API并監(jiān)視與調(diào)用API相關(guān)聯(lián)的參數(shù)和值??墒褂萌魏魏线m類型的技術(shù)來(lái)執(zhí)行纏繞,如將由本領(lǐng)域技術(shù)人員了解的那樣。但作為一個(gè)實(shí)例,可利用微軟的Detours (繞路)技術(shù)來(lái)執(zhí)行纏繞??墒褂闷渌夹g(shù),諸如下文所述的那些。在圖示和描述的實(shí)施例中,代碼顧問(wèn)216包含預(yù)處理代碼220和后處理代碼226,它們與模塊222 —致地工作。預(yù)處理代碼220和后處理代碼226使模塊222能夠監(jiān)視與網(wǎng)頁(yè)且更具體而言網(wǎng)頁(yè)代碼224的相對(duì)應(yīng)API調(diào)用相關(guān)聯(lián)的參數(shù)和值。當(dāng)網(wǎng)頁(yè)開(kāi)始在瀏覽器210內(nèi)執(zhí)行時(shí),網(wǎng)頁(yè)代碼224可以對(duì)代碼顧問(wèn)纏繞的API做出API調(diào)用。API調(diào)用由API調(diào)用攔截器模塊218攔截。在操作中,當(dāng)API調(diào)用攔截器模塊218攔截API調(diào)用時(shí),代碼顧問(wèn)216使用預(yù)處理代碼220來(lái)使得API調(diào)用被重導(dǎo)向至由模塊222表示的模塊。模塊222在實(shí)際完成對(duì)API的調(diào)用之前分析API的輸入值。輸入值包括API調(diào)用參數(shù)、自變量等等。模塊222能確定API調(diào)用的一個(gè)或多個(gè)輸入值是否存在問(wèn)題且若存在問(wèn)題,可以發(fā)送與該問(wèn)題有關(guān)的消息到消息顯示模塊228,消息顯示模塊228能使得消息被顯示給用戶,其實(shí)例在下文提供。如果對(duì)于API調(diào)用的輸入值未檢測(cè)到問(wèn)題(或者在修復(fù)了任何問(wèn)題的情況下),能由網(wǎng)頁(yè)代碼224實(shí)際做出API調(diào)用且后處理代碼226能監(jiān)視作為API調(diào)用的結(jié)果的任何返回值。由后處理代碼確定的返回值然后被提供給適當(dāng)?shù)哪K222以進(jìn)行處理從而識(shí)別關(guān)于返回值是否存在任何問(wèn)題。如果識(shí)別存在問(wèn)題,則模塊222可以發(fā)送與該問(wèn)題有關(guān)的消息到消息顯示模塊228使得可以顯示適當(dāng)?shù)南ⅰO@示模塊228可以允許顯示各 種類型的消息。作為實(shí)例,考慮圖3,圖3在300處一般地圖示出根據(jù)一個(gè)或多個(gè)實(shí)施例的web瀏覽器調(diào)查工具用戶接口。在此實(shí)例中,web瀏覽器302具有與地址欄304中的URL “穩(wěn)·bing. com”相關(guān)聯(lián)的文本。頁(yè)面306已在內(nèi)部加載瀏覽器302,瀏覽器302包含文本316和兩個(gè)空框架318。以最小化視圖示出代碼顧問(wèn)308。在此實(shí)施例中,代碼顧問(wèn)308顯示在網(wǎng)頁(yè)306的頂部。但是,其它代碼顧問(wèn)顯示也是可能的,包括但不限于在瀏覽器的chrome中顯示,例如作為側(cè)邊欄等。在此實(shí)例中,代碼顧問(wèn)308具有與之相關(guān)聯(lián)的三種類型的消息錯(cuò)誤消息310、警告消息312和信息消息314。盡管說(shuō)明了這三種類型的消息,但可以利用其它類型的消息。在圖示和描述的實(shí)施例中,錯(cuò)誤消息310和數(shù)字一起顯示,該數(shù)字指示可用于查看的錯(cuò)誤消息的數(shù)量。同樣,警告消息312和信息消息314也指示其相應(yīng)消息的數(shù)量。可替換地,如果對(duì)于消息類型不存在任何消息,可以沒(méi)有消息類型的顯示。在一個(gè)或多個(gè)實(shí)施例中,可以擴(kuò)展與代碼顧問(wèn)308相關(guān)聯(lián)的顯示。舉例而言,通過(guò)點(diǎn)擊代碼顧問(wèn),其可擴(kuò)展為提供附加信息的形式。作為擴(kuò)展的代碼顧問(wèn)308的實(shí)例,考慮圖4,其使用來(lái)自圖3的同樣的標(biāo)號(hào)。在圖4中,代碼顧問(wèn)408被顯示為網(wǎng)頁(yè)內(nèi)的窗口 306。如上文所討論的那樣,可利用其它的顯示。在一個(gè)實(shí)施例中,代碼顧問(wèn)408包含一系列標(biāo)簽以允許用戶容易地導(dǎo)航代碼顧問(wèn)408的內(nèi)容。當(dāng)前選擇消息日志標(biāo)簽410。消息日志標(biāo)簽410包含查看選項(xiàng),諸如示出錯(cuò)誤418以允許容易地將消息分類和管理。除了圖示的查看選項(xiàng)之外能利用其它查看選項(xiàng)。消息日志標(biāo)簽410也包含錯(cuò)誤消息412。在此實(shí)例中,錯(cuò)誤消息412可為在圖3中的代碼顧問(wèn)308中所顯示的錯(cuò)誤消息310的更長(zhǎng)解釋說(shuō)明。錯(cuò)誤消息412能提供其與哪個(gè)API相關(guān)聯(lián)的指示且能附加地描述關(guān)于API調(diào)用發(fā)生的錯(cuò)誤。錯(cuò)誤消息412還能提供錯(cuò)誤描述的解釋說(shuō)明,諸如“這是針對(duì)互操作性和順應(yīng)性的故意變化”。或者,當(dāng)鼠標(biāo)在單獨(dú)窗口中在錯(cuò)誤上懸停時(shí)可提供這些描述。在一個(gè)或多個(gè)實(shí)施例中,可顯示錯(cuò)誤消息412,以及用戶采取行動(dòng)的提示。行動(dòng)可為選項(xiàng)的選擇,諸如修復(fù)選項(xiàng)414和/或調(diào)試選項(xiàng)416。在此實(shí)例中,修復(fù)選項(xiàng)414能允許用戶確認(rèn)所顯示的錯(cuò)誤消息412并使得修復(fù)能夠針對(duì)錯(cuò)誤來(lái)實(shí)施。作為實(shí)例,考慮圖5。此處,響應(yīng)于用戶選擇修復(fù)選項(xiàng)414,不再顯示錯(cuò)誤消息412。而是,信息消息512告知用戶針對(duì)錯(cuò)誤消息412的修復(fù)已實(shí)現(xiàn)。在替代實(shí)施例中,可以顯示錯(cuò)誤消息412和信息消息512這二者。在一個(gè)或多個(gè)實(shí)施例中,所實(shí)現(xiàn)的修復(fù)可以顯示為網(wǎng)頁(yè)的仿真行為。仿真行為可以立即顯示或者可以直到用戶刷新頁(yè)面才顯示,最小化代碼顧問(wèn),或者執(zhí)行另一行動(dòng)。所實(shí)現(xiàn)的修復(fù)能允許通過(guò)利用到不同于網(wǎng)頁(yè)正調(diào)用的API的重導(dǎo)向來(lái)顯示仿真行為。在一個(gè)實(shí)施例中,可以由模塊,諸如上文所述的模塊222來(lái)指定到不同API的重導(dǎo)向。在一個(gè)實(shí)例中,仿真行為可為基于到先前版本的瀏覽器的瀏覽器API的重導(dǎo)向的遺留行為(legacybehavior)。如圖6中所示的那樣,可最小化代碼顧問(wèn)308以包括上文所述的消息類型。網(wǎng)頁(yè)306現(xiàn)包含在先前未顯示的框架318內(nèi)顯示的圖片。由所實(shí)現(xiàn)的修復(fù)所提供的仿真行為允許頁(yè)面像網(wǎng)頁(yè)正預(yù)期的那樣執(zhí)行。此外,在一些實(shí)施例中,錯(cuò)誤消息412 (圖5)顯示調(diào)試選項(xiàng)416。當(dāng)被檢查或另外被選擇時(shí),調(diào)試選項(xiàng)416提供如何解決錯(cuò)誤消息412的指南。指南的實(shí)例包括但不限于到 用戶文檔中的鏈接;到代碼中的鏈接;突出顯示或另外在視覺(jué)上指示的代碼;關(guān)于符合標(biāo)準(zhǔn)的附加信息;到代碼中發(fā)生錯(cuò)誤的區(qū)域的導(dǎo)航;和/或關(guān)于該問(wèn)題的代碼列表。此外,調(diào)試選項(xiàng)可在由其本身選擇時(shí)或者在利用修復(fù)選項(xiàng)414選擇時(shí)提供代碼的自動(dòng)校正??紤]到各種實(shí)施例,現(xiàn)考慮能根據(jù)一個(gè)或多個(gè)實(shí)施例實(shí)施的實(shí)例方法。實(shí)例方法
圖7是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的方法中的步驟的流程圖。該方法可結(jié)合任何合適的硬件、軟件、固件或其組合來(lái)實(shí)施。在至少一些實(shí)施例中,該方法的各方面能由諸如上文所述的適當(dāng)配置的代碼顧問(wèn)來(lái)實(shí)施。步驟700從網(wǎng)頁(yè)接收應(yīng)用編程接口(API)調(diào)用。能使用任何合適的API調(diào)用。舉例而言,在至少一些實(shí)施例中,API調(diào)用可包括由網(wǎng)頁(yè)對(duì)與瀏覽器相關(guān)聯(lián)的API做出的API調(diào)用。步驟702確定關(guān)于API調(diào)用是否存在問(wèn)題。這種確定能通過(guò)使用纏繞相關(guān)聯(lián)的API的代碼組件來(lái)執(zhí)行。在至少一些實(shí)施例中,代碼組件可被配置成通過(guò)監(jiān)視由調(diào)用所提供的輸入值、網(wǎng)頁(yè)的狀態(tài)值和作為API調(diào)用結(jié)果的輸出或返回值中的一種或多種來(lái)處理API調(diào)用。網(wǎng)頁(yè)的狀態(tài)值可包括(以實(shí)例而非限制的方式)與元素、風(fēng)格、Java腳本或Java腳本框架相關(guān)聯(lián)的狀態(tài)。這些問(wèn)題可包括任何合適類型的兼容性或互操作問(wèn)題。對(duì)確定存在問(wèn)題做出響應(yīng),步驟704選擇與該問(wèn)題相關(guān)聯(lián)的可顯示消息且使得該消息被顯示。在至少一些實(shí)施例中,對(duì)于與網(wǎng)頁(yè)相關(guān)聯(lián)的所有API,可重復(fù)步驟700-704。在其它實(shí)施例中,對(duì)于用戶可定制的指定API可重復(fù)步驟700-704??商鎿Q地,步驟700-704可對(duì)于存在可用于纏繞API的代碼組件的那些API重復(fù)。描述了根據(jù)一個(gè)或多個(gè)實(shí)施例的實(shí)例方法,現(xiàn)考慮能用于實(shí)施上文所述的實(shí)施例中的一個(gè)或多個(gè)的實(shí)例系統(tǒng)。實(shí)例系統(tǒng)
圖8示出能用于實(shí)施上文所述的各種實(shí)施例的實(shí)例計(jì)算設(shè)備800。計(jì)算設(shè)備800可為例如圖I的計(jì)算設(shè)備102或任何其它合適的計(jì)算設(shè)備。
計(jì)算設(shè)備800包括一個(gè)或多個(gè)處理器或處理單元802,一個(gè)或多個(gè)存儲(chǔ)器和/或存儲(chǔ)組件804,一個(gè)或多個(gè)輸入/輸出(I/O)設(shè)備806和總線808,總線808允許各種組件和設(shè)備彼此通信??偩€808表示多種類型總線結(jié)構(gòu)中的任何的一個(gè)或多個(gè),包括使用多種總線架構(gòu)中任何架構(gòu)的存儲(chǔ)器總線或存儲(chǔ)器控制器、外圍總線、加速圖形端口和處理器或本地總線。總線808可包括有線和/或無(wú)線總線。存儲(chǔ)器/存儲(chǔ)組件804表示一個(gè)或多個(gè)計(jì)算機(jī)存儲(chǔ)介質(zhì)。組件804可包括易失性介質(zhì)(諸如隨機(jī)存取存儲(chǔ)器(RAM)和/或非易失性介質(zhì)(諸如只讀存儲(chǔ)器(ROM)、閃存、光盤(pán)、磁盤(pán)等)。組件804可包括固定介質(zhì)(例如,RAM、ROM、固定硬驅(qū)動(dòng)器等)以及可移動(dòng)的介質(zhì)(例如,閃存驅(qū)動(dòng)器、可移動(dòng)的硬驅(qū)動(dòng)器、光盤(pán)等)。一個(gè)或多個(gè)輸入/輸出設(shè)備806允許用戶向計(jì)算設(shè)備800錄入命令和信息,且也允許向用戶和/或其它組件或設(shè)備提供信息。輸入設(shè)備的實(shí)例包括鍵盤(pán)、光標(biāo)控制設(shè)備(例如,鼠標(biāo))、麥克風(fēng)、掃描儀等。輸出設(shè)備的實(shí)例包括顯示設(shè)備(例如,監(jiān)視器或投影儀)、揚(yáng)聲器、打印機(jī)、網(wǎng)卡等。

本文可在軟件或程序模塊的一般情形下描述各種技術(shù)。一般而言,軟件包括例程、程序、目標(biāo)、組件、數(shù)據(jù)結(jié)構(gòu)等等,其執(zhí)行特定任務(wù)或?qū)嵤┨囟ǔ橄髷?shù)據(jù)類型。這些模塊和技術(shù)的實(shí)施方式可存儲(chǔ)在或傳輸于某種形式的計(jì)算機(jī)可讀介質(zhì)上。計(jì)算機(jī)可讀介質(zhì)可為可由計(jì)算設(shè)備存取的任何一個(gè)或多個(gè)可用介質(zhì)。舉例而言但并無(wú)限制意義地,計(jì)算機(jī)可讀介質(zhì)可包括“計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)”?!坝?jì)算機(jī)可讀存儲(chǔ)介質(zhì)”包括以任何方法或技術(shù)實(shí)施的易失性和非易失性、可移動(dòng)和不可移動(dòng)的介質(zhì),其用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)之類的信息。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)包括但不限于RAM、ROM、EEPR0M、閃存或其它存儲(chǔ)技術(shù);CD-ROM、數(shù)字多用盤(pán)(DVD)或其它光學(xué)存儲(chǔ)設(shè)備;磁盒、磁帶、磁盤(pán)存儲(chǔ)設(shè)備或其它磁存儲(chǔ)設(shè)備;或可用于存儲(chǔ)能由計(jì)算機(jī)訪問(wèn)的所需信息的任何其它介質(zhì)。結(jié)論
各種實(shí)施例提供調(diào)查工具,被稱作“代碼顧問(wèn)”,以使得網(wǎng)頁(yè)內(nèi)容能得以分析。在至少一些實(shí)施例中,代碼顧問(wèn)允許跟蹤應(yīng)用編程接口(API)的使用。通過(guò)在網(wǎng)頁(yè)腳本執(zhí)行時(shí)跟蹤API使用,代碼顧問(wèn)能確定關(guān)于網(wǎng)頁(yè)內(nèi)容是否存在任何兼容性和/或互操作性問(wèn)題。如果確實(shí)存在問(wèn)題,在至少一些實(shí)施例中,代碼顧問(wèn)能選擇與該問(wèn)題相關(guān)聯(lián)的一個(gè)或多個(gè)消息且能提供指南以使得問(wèn)題能夠得以解決。盡管以特定于結(jié)構(gòu)特征和/或方法行為的語(yǔ)言描述了主題,應(yīng)了解在所附權(quán)利要求中限定的主題不必限于上文所述的特定特征或行為。而是,上文所述的特定特征和行為被公開(kāi)為實(shí)施權(quán)利要求的實(shí)例形式。
權(quán)利要求
1.一種計(jì)算機(jī)實(shí)施的方法,包括 從網(wǎng)頁(yè)接收(700)應(yīng)用編程接ロ(API)調(diào)用; 通過(guò)使用代碼組件來(lái)確定(702)關(guān)于API調(diào)用是否存在問(wèn)題,所述代碼組件纏繞相關(guān)聯(lián)的API且被配置成處理API調(diào)用且識(shí)別與所述API調(diào)用相關(guān)聯(lián)的一個(gè)或多個(gè)問(wèn)題;以及對(duì)于確定存在問(wèn)題做出響應(yīng),選擇(704)與所述問(wèn)題相關(guān)聯(lián)的可顯示消息。
2.根據(jù)權(quán)利要求I所述的計(jì)算機(jī)實(shí)施的方法,其中,所述可顯示消息包括 錯(cuò)誤消息, 警告消息,或者 信息消息。
3.根據(jù)權(quán)利要求I所述的計(jì)算機(jī)實(shí)施的方法,還包括 顯示所述可顯示消息;以及 提示用戶采取行動(dòng)。
4.根據(jù)權(quán)利要求3所述的計(jì)算機(jī)實(shí)施的方法,其中所述行動(dòng)包括 選擇修復(fù)選項(xiàng)來(lái)允許顯示仿真行為,或者, 選擇調(diào)試選項(xiàng)。
5.根據(jù)權(quán)利要求4所述的計(jì)算機(jī)實(shí)施的方法,其中,所述仿真行為包括接收調(diào)用的先前版本的瀏覽器的遺留行為。
6.根據(jù)權(quán)利要求4所述的計(jì)算機(jī)實(shí)施的方法,其中,所述仿真行為動(dòng)態(tài)地且實(shí)時(shí)地顯
7.一種用于分析網(wǎng)頁(yè)的系統(tǒng),包括 一個(gè)或多個(gè)處理器(104);以及 計(jì)算機(jī)可讀的存儲(chǔ)介質(zhì)(106),其收錄計(jì)算機(jī)可讀指令,當(dāng)所述計(jì)算機(jī)可讀指令由ー個(gè)或多個(gè)處理器執(zhí)行時(shí)使得所述ー個(gè)或多個(gè)處理器實(shí)施工具(111),所述工具(111)被配置成 加載與已插入于網(wǎng)頁(yè)內(nèi)的腳本元素相關(guān)聯(lián)的至少ー個(gè)模塊; 允許至少一個(gè)模塊纏繞至少ー個(gè)應(yīng)用編程接ロ(API); 加載其中插入了所述腳本元素的網(wǎng)頁(yè);以及 使用至少ー個(gè)模塊處理所述網(wǎng)頁(yè)對(duì)所述API的一次或多次調(diào)用。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其中,處理所述一次或多次調(diào)用包括監(jiān)視與所述API有關(guān)的信息,所述信息包括 輸入值; 返回值;或者 網(wǎng)頁(yè)狀態(tài)。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其中所述網(wǎng)頁(yè)狀態(tài)包括與以下相關(guān)聯(lián)的狀態(tài) 元素; 風(fēng)格; Java腳本;或者 Java腳本框架。
10.根據(jù)權(quán)利要求7所述的系統(tǒng),其中所述工具實(shí)施為獨(dú)立工具。
全文摘要
各種實(shí)施例提供調(diào)查工具以使得網(wǎng)頁(yè)內(nèi)容能得以分析。在至少一些實(shí)施例中,在后面被稱作“代碼顧問(wèn)”的調(diào)查工具允許跟蹤應(yīng)用編程接口(API)的使用。通過(guò)在網(wǎng)頁(yè)腳本執(zhí)行時(shí)跟蹤API使用,代碼顧問(wèn)能確定關(guān)于網(wǎng)頁(yè)內(nèi)容是否存在兼容性和/或互操作性問(wèn)題。如果確實(shí)存在問(wèn)題,在至少一些實(shí)施例中,代碼顧問(wèn)能選擇與該問(wèn)題相關(guān)聯(lián)的一個(gè)或多個(gè)消息且能提供指南以使得該問(wèn)題能得以解決。
文檔編號(hào)G06F11/36GK102681933SQ20121001853
公開(kāi)日2012年9月19日 申請(qǐng)日期2012年1月20日 優(yōu)先權(quán)日2011年1月20日
發(fā)明者A.M.羅斯, J.A.穆?tīng)? M.A.西爾比 申請(qǐng)人:微軟公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1