一種網(wǎng)頁中視頻元素的播放方法和裝置制造方法
【專利摘要】本發(fā)明公開了一種網(wǎng)頁中視頻元素的播放方法和裝置,本發(fā)明涉及瀏覽器【技術(shù)領(lǐng)域】。所述方法包括:確定出瀏覽器中當(dāng)前加載網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁;檢測到所述視頻元素在當(dāng)前瀏覽器顯示視窗中部分顯示和/或全部地未被顯示;由瀏覽器在當(dāng)前頁面視窗上方創(chuàng)建一窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放。本發(fā)明取得了可以在網(wǎng)頁文檔中視頻元素的初始位置移出顯示視窗之后,可使視頻元素在獨(dú)立于顯示視窗中的新窗口中播放,使在用戶瀏覽器網(wǎng)頁中其他信息(比如視頻評(píng)論、推薦視頻等)時(shí)可以同時(shí)觀看視頻元素中的播放內(nèi)容的有益效果。
【專利說明】一種網(wǎng)頁中視頻元素的播放方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及瀏覽器【技術(shù)領(lǐng)域】,具體涉及一種網(wǎng)頁中視頻元素的播放方法和裝置。
【背景技術(shù)】
[0002]瀏覽器是指可以顯示網(wǎng)頁服務(wù)器或者文件系統(tǒng)的HTML(超文本標(biāo)記語言,HyperText Mark-up Language))文件內(nèi)容,并讓用戶與這些文件交互的一種軟件。網(wǎng)頁瀏覽器主要通過HTTP協(xié)議與網(wǎng)頁服務(wù)器交互并獲取網(wǎng)頁,這些網(wǎng)頁由URL(統(tǒng)一資源定位符,Uniform Resource Locator)指定,文件格式通常為HTML。一個(gè)網(wǎng)頁中可以包括多個(gè)文檔,每個(gè)文檔都是分別從服務(wù)器獲取的。HTTP內(nèi)容類型和URL協(xié)議規(guī)范允許網(wǎng)頁設(shè)計(jì)者在網(wǎng)頁中嵌入圖像、視頻等。
[0003]而當(dāng)前的網(wǎng)頁服務(wù)器中存在一種帶有視頻內(nèi)容的網(wǎng)頁,其視頻內(nèi)容一般是在頁面的某個(gè)位置進(jìn)行播放,然后視頻下方很長的一部分是其他內(nèi)容,比如相關(guān)廣告圖片,相關(guān)推薦視頻的鏈接,當(dāng)前視頻評(píng)論等內(nèi)容,其頁面整體高度遠(yuǎn)遠(yuǎn)大于瀏覽器顯示視窗的高度。那么,當(dāng)用戶通過鼠標(biāo)滾輪或者滾動(dòng)條滑動(dòng)頁面去瀏覽其他位置的信息(比如視頻評(píng)論)時(shí),頁面中播放的視頻可能移出顯示視窗,以至用戶則無法觀看到視頻內(nèi)容。
【發(fā)明內(nèi)容】
[0004]鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的網(wǎng)頁中視頻元素的播放裝置和相應(yīng)的網(wǎng)頁中視頻元素的播放方法。
[0005]依據(jù)本發(fā)明的一個(gè)方面,提供了一種網(wǎng)頁中視頻元素的播放方法,包括:
[0006]確定出瀏覽器中當(dāng)前加載網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁;
[0007]檢測到所述視頻元素在當(dāng)前瀏覽器顯示視窗中部分顯示和/或全部地未被顯示;
[0008]由瀏覽器在當(dāng)前頁面視窗上方創(chuàng)建一窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放。
[0009]根據(jù)本發(fā)明的另一方面,提供了一種網(wǎng)頁中視頻元素的播放裝置,包括:
[0010]網(wǎng)頁判斷模塊,適于確定出瀏覽器中當(dāng)前加載網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁;
[0011]顯示位置判斷模塊,適于檢測到所述視頻元素在當(dāng)前瀏覽器顯示視窗中部分顯示和/或全部地未被顯示;
[0012]窗口播放模塊,適于由瀏覽器在當(dāng)前頁面視窗上方創(chuàng)建一窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放。
[0013]根據(jù)本發(fā)明的一種網(wǎng)頁中視頻元素的播放方法和裝置,針對(duì)瀏覽器中當(dāng)前加載網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁,當(dāng)檢測到所述視頻元素在當(dāng)前瀏覽器顯示視窗中部分顯示和/或全部地未被顯示;由瀏覽器在當(dāng)前頁面視窗上方創(chuàng)建一窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放。由此解決了用戶滑動(dòng)頁面時(shí),當(dāng)視頻元素移出顯示視窗之后,用戶瀏覽網(wǎng)頁中的信息時(shí)無法同時(shí)觀看視頻元素中的播放內(nèi)容的問題,取得了可以在網(wǎng)頁文檔中視頻元素的初始位置移出顯示視窗之后,可使視頻元素在獨(dú)立于顯示視窗中的新窗口中播放,使在用戶瀏覽器網(wǎng)頁中其他信息(比如視頻評(píng)論、推薦視頻等)時(shí)可以同時(shí)觀看視頻元素中的播放內(nèi)容的有益效果。
[0014]上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的【具體實(shí)施方式】。
【專利附圖】
【附圖說明】
[0015]通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
[0016]圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種網(wǎng)頁中視頻元素的播放方法的流程示意圖;
[0017]圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種網(wǎng)頁中視頻元素的播放方法的流程示意圖;
[0018]圖2A示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種的視頻元素初始的加載狀態(tài)示意圖;
[0019]圖2B示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種視頻元素部分未顯示時(shí)觸發(fā)小窗口播放視頻元素的示意圖;
[0020]圖3示出了根據(jù)本發(fā)明優(yōu)選的一個(gè)實(shí)施例的一種網(wǎng)頁中視頻元素的播放方法的流程示意圖;
[0021]圖3A示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的在圖2A的基礎(chǔ)上的一種視頻元素頂部開始進(jìn)入部分顯示狀態(tài)時(shí)觸發(fā)小窗口播放視頻元素的示意圖;
[0022]圖4示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種網(wǎng)頁中視頻元素的播放方法的流程示意圖;
[0023]圖4A示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的在圖2A的基礎(chǔ)上的一種視頻元素頂部開始進(jìn)入全部未顯示狀態(tài)時(shí)觸發(fā)小窗口播放視頻元素的示意圖;
[0024]圖5示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種網(wǎng)頁中視頻元素的播放方法的流程示意圖;
[0025]圖6示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種網(wǎng)頁中視頻元素的播放裝置的結(jié)構(gòu)示意圖;
[0026]圖7示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種網(wǎng)頁中視頻元素的播放裝置的結(jié)構(gòu)示意圖;
[0027]圖8示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種網(wǎng)頁中視頻元素的播放裝置的結(jié)構(gòu)示意圖;
[0028]圖9示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種網(wǎng)頁中視頻元素的播放裝置的結(jié)構(gòu)示意圖;
[0029]圖10示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種網(wǎng)頁中視頻元素的播放裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0030]下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0031]本發(fā)明的核心思想之一是:針對(duì)瀏覽器中當(dāng)前加載網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁,當(dāng)檢測到所述視頻元素在當(dāng)前瀏覽器顯示視窗中部分顯示和/或全部地未被顯示;由瀏覽器在當(dāng)前頁面視窗上方創(chuàng)建一窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放。以使網(wǎng)頁中的視頻元素在新窗口中進(jìn)行播放,該新窗口顯示順序在顯示視窗前面,使用戶在滾動(dòng)網(wǎng)頁以瀏覽非視頻元素的信息時(shí),也可以方便的看到視頻元素的播放內(nèi)容。
[0032]實(shí)施例一
[0033]參照?qǐng)D1,其示出了本發(fā)明的一種網(wǎng)頁中視頻元素的播放方法,具體可以包括:
[0034]步驟110,確定出瀏覽器中當(dāng)前加載網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁;
[0035]在本發(fā)明實(shí)施例中,瀏覽器首先會(huì)從服務(wù)器獲取用于加載的網(wǎng)頁文檔。然后對(duì)該網(wǎng)頁文檔進(jìn)行解析和加載。
[0036]在實(shí)際應(yīng)用中,本發(fā)明實(shí)施例的瀏覽器在接收用戶輸入的URL(統(tǒng)一資源定位符,Uniform Resource Locator)后,可發(fā)送相應(yīng)的HTTP(超文本轉(zhuǎn)移協(xié)議,HypertextTransfer Protocol)請(qǐng)求從網(wǎng)頁服務(wù)器獲取HTML(即超文本標(biāo)記語言,HyperText Mark-upLanguage)文檔,該HTML用于加載到瀏覽器的tab標(biāo)簽頁中展示。
[0037]然后本發(fā)明則可判斷瀏覽器中當(dāng)前加載網(wǎng)頁文檔是否為帶有可播放的視頻元素的特定網(wǎng)頁。
[0038]在本發(fā)明實(shí)施例中,對(duì)于瀏覽器獲取的網(wǎng)頁文檔,首先會(huì)針對(duì)URL和或者網(wǎng)頁內(nèi)容,判斷該網(wǎng)頁文檔是否為帶有可播放的視頻元素的特定網(wǎng)頁。所述可播放的視頻元素比如用于播放電視劇、電影等內(nèi)容的視頻元素。當(dāng)判斷出所述網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁,則進(jìn)入后續(xù)過程。
[0039]優(yōu)選地,所述判斷出所述網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁包括:
[0040]子步驟A111,針對(duì)當(dāng)前網(wǎng)頁文檔對(duì)應(yīng)的網(wǎng)址,根據(jù)以通配符構(gòu)建的網(wǎng)址匹配規(guī)則和/或預(yù)置的網(wǎng)址名單,對(duì)所述網(wǎng)址進(jìn)行匹配;當(dāng)網(wǎng)址匹配上,則判斷出所述網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁。
[0041]在本發(fā)明實(shí)施例中,對(duì)于瀏覽器獲取的網(wǎng)頁文檔的URL,本發(fā)明可以通配符構(gòu)建網(wǎng)址匹配規(guī)則,比如對(duì)于通配符*,構(gòu)建網(wǎng)址匹配規(guī)則:*v.youku*,則表示帶有V.youku的任意網(wǎng)址均為特定網(wǎng)頁。那么如果所述URL包括V.youku則意味著匹配上。
[0042]或者預(yù)置網(wǎng)址名單,比如對(duì)youku視頻網(wǎng)站、360視頻網(wǎng)站等主流視頻網(wǎng)站的播放頁面構(gòu)建網(wǎng)址名單,將所述URL與網(wǎng)址名單進(jìn)行匹配。
[0043]上述兩種匹配方式可以單獨(dú)使用,也可以同時(shí)使用。
[0044]優(yōu)選地,在網(wǎng)址匹配上之后,包括:
[0045]子步驟A112,提取對(duì)應(yīng)所述網(wǎng)址的網(wǎng)頁架構(gòu)模板,并利用所述網(wǎng)頁架構(gòu)模板對(duì)所述網(wǎng)頁文檔進(jìn)行匹配;當(dāng)所述網(wǎng)頁文檔與上述網(wǎng)頁架構(gòu)模板匹配上,則判斷出所述網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁。
[0046]在前述對(duì)網(wǎng)址匹配后,如果匹配上網(wǎng)址,則可先進(jìn)入本步驟,提取對(duì)應(yīng)所述匹配上的網(wǎng)址的網(wǎng)頁架構(gòu)模塊,利用所述網(wǎng)頁架構(gòu)模板對(duì)所述網(wǎng)頁文檔進(jìn)行匹配。
[0047]在實(shí)際中,網(wǎng)頁文檔可解析為DOM樹結(jié)構(gòu),而每個(gè)網(wǎng)站的設(shè)計(jì)的各欄目的網(wǎng)頁的DOM樹結(jié)構(gòu)不盡相同,那么本發(fā)明可基于每個(gè)網(wǎng)站各欄目的網(wǎng)頁文檔的DOM樹,構(gòu)建網(wǎng)頁架構(gòu)模板,該模板可以精準(zhǔn)定位該類型網(wǎng)頁文檔中可播放視頻元素的位置。
[0048]如此,如果所述網(wǎng)頁文檔與上述網(wǎng)頁架構(gòu)模板匹配上,則判斷出所述網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁。
[0049]步驟120,檢測到所述視頻元素在當(dāng)前瀏覽器顯示視窗中部分顯示和/或全部地未被顯不;
[0050]針對(duì)前述的特定網(wǎng)頁,本發(fā)明實(shí)施例會(huì)檢測網(wǎng)頁中的視頻元素是否在當(dāng)前瀏覽器顯示視窗中部分顯示和/或全部地未被顯示。比如視頻元素部分顯示+全部地未被顯示后,進(jìn)入步驟130 ;或者視頻元素全部地未被顯示后,進(jìn)入步驟130 ;或者視頻元素部分顯示后,進(jìn)入步驟130。
[0051]優(yōu)選地,所述檢測到所述視頻元素在當(dāng)前瀏覽器顯示視窗中部分顯示和/或全部地未被顯示,包括:
[0052]子步驟S122,根據(jù)視頻元素的顯示位置、顯示視窗的顯示位置、滾動(dòng)條的顯示位置、頁面整體的大小屬性,判斷所述視頻元素在當(dāng)前瀏覽器顯示視窗中部分顯示和/或者全部地未被顯示。
[0053]在實(shí)際應(yīng)用中,瀏覽器對(duì)頁面進(jìn)行展示時(shí)至少有4個(gè)屬性需要處理:瀏覽器顯示視窗的展示位置比如寬(width)、高(height);網(wǎng)頁文檔的大小屬性比如其展示時(shí)其整體的寬(width)、高(height);文檔中各元素在頁面中的展示位置,比如對(duì)于視頻元素有:寬(width)、高(height)、距離頁面頂部的距離(top)、距離頁面左側(cè)的距離(left)等);滾動(dòng)條的展示位置,比如距離顯示視窗頂部的距離(top),距離顯示視窗左側(cè)的距離(left)等。
[0054]然后,在拖動(dòng)過程中即可根據(jù)上述位置屬性計(jì)算所述視頻元素在當(dāng)前瀏覽器顯示視窗中部分顯示和/或者全部地未被顯示。
[0055]優(yōu)選地,在檢測到所述視頻元素部分顯示和/或全部地未被顯示之后還包括:
[0056]子步驟S123,判斷所述視頻元素對(duì)應(yīng)的視頻窗口為有窗口模式還是無窗口模式。
[0057]在實(shí)際應(yīng)用中,網(wǎng)頁文檔中的視頻元素的設(shè)計(jì)方式可包括兩種:一種是設(shè)計(jì)一個(gè)UI窗口形式播放視頻內(nèi)容;另外一種是固定一個(gè)區(qū)域,將該區(qū)域作為一個(gè)位圖展示區(qū)域,將視頻流的幀在該位圖上進(jìn)行刷新,以進(jìn)行播放。
[0058]兩種模式下的,在步驟130中設(shè)置視頻元素在該新建的窗口的原理不同,因此在此可判斷視頻元素對(duì)應(yīng)的視頻窗口的模式。
[0059]優(yōu)選地,所述判斷所述視頻元素對(duì)應(yīng)的視頻窗口為有窗口模式還是無窗口模式,包括:
[0060]通過網(wǎng)頁文檔中的<param>標(biāo)簽判斷所述視頻窗口為有窗口模式還是無窗口模式。
[0061]在網(wǎng)頁文檔中,一般是以<param>設(shè)定視頻元素對(duì)應(yīng)的視頻窗口模式。比如〈param name = 〃wmode〃value = 〃transparent〃>。其中 value 的值表不視步頁兀素對(duì)應(yīng)的視頻窗口模式。在本發(fā)明實(shí)施例中,value值有三種,分別如下:
[0062]Window:表示有窗口模式
[0063]Opaque:表不有窗口模式
[0064]Transparent:表示無窗口模式。
[0065]那么前面例子〈paramname = 〃wmode〃value = "transparent"〉中表不所屬視頻元素為無窗口模式。
[0066]步驟130,由瀏覽器在當(dāng)前頁面視窗上方創(chuàng)建一窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放。
[0067]在本發(fā)明實(shí)施例中,瀏覽器判斷出特定網(wǎng)頁中的視頻元素在當(dāng)前瀏覽器顯示視窗中部分顯示和/或全部地未被顯示后,可創(chuàng)建一個(gè)獨(dú)立的窗口,將視頻元素設(shè)置在該窗口中播放。在實(shí)際應(yīng)用中,本發(fā)明一般設(shè)置一個(gè)小窗口,該小窗口大小只占瀏覽器顯示視窗的很小比例,避免在用戶拉動(dòng)網(wǎng)頁時(shí),窗口過大而影響其對(duì)網(wǎng)頁內(nèi)容的瀏覽。對(duì)于創(chuàng)建小窗口,可以有瀏覽器調(diào)用CreateWindow函數(shù)創(chuàng)建一個(gè)窗口。其中CreateWindow原型為:
[0068]Createffindow (
[0069]LPCTSTR IpClassName,
[0070]LPCTSTR IpffindowName,
[0071]DWORD dwStyle,
[0072]int x,
[0073]int y,
[0074]int nffidth,
[0075]int nHeight,
[0076]HWND hffndParent,
[0077]HMENU hMenu,
[0078]HANDLE hlnstance,
[0079]LPVOID IpParam);
[0080]其中,IpClassName指向一個(gè)空結(jié)束的字符串或整型數(shù)atom。IpWindowName指向一個(gè)指定窗口名的空結(jié)束的字符串指針。dwExstyle指定創(chuàng)建窗口的風(fēng)格。X,y, nffidth, nHeight制定了窗P的位置和大小,x和y指定初始左定點(diǎn)坐標(biāo),nffidth和nHeight指定寬度和高度。hWndParent指向被創(chuàng)建窗口的父窗口或所有者窗口的句柄,若要?jiǎng)?chuàng)建一個(gè)子窗口或一個(gè)被屬窗口,需提供一個(gè)有效的窗口句柄,這個(gè)參數(shù)對(duì)彈出式窗口是可選的。hMenu菜單句柄,或依據(jù)窗口風(fēng)格指明一個(gè)子窗口標(biāo)識(shí),對(duì)于層疊或彈出式窗口,hMenu指定窗口使用的菜單:如果使用了菜單類,則hMenu可以為NULL。對(duì)于子窗口,hMenu指定了該子窗口標(biāo)識(shí)(一個(gè)整型量),一個(gè)對(duì)話框使用這個(gè)整型值將事件通知父類。hlnstance在早期的操作系統(tǒng)中,如Windows95/98/Me,該參數(shù)指定與窗口相關(guān)的模塊實(shí)例的句柄,而在較新的操作系統(tǒng)中,如Windows NT/2000/XP/7,可以不理睬該參數(shù)。IpPraram指向一個(gè)值的指針,該值傳遞給窗口 WM_CREATE消息。該值通過在IParam參數(shù)中的CREATESTRUCT結(jié)構(gòu)傳遞,如果應(yīng)用程序調(diào)用CreateWindow創(chuàng)建一個(gè)MDI客戶窗口,則IpParam 必須指向一個(gè) CLIENTCREATESTRUCT 結(jié)構(gòu)。
[0081]在本發(fā)明實(shí)施例中,創(chuàng)建窗口時(shí),可將所述窗口的顯示順序(即Z序)設(shè)置為至少始終顯示于顯示視窗之前。
[0082]其中,窗口的大小可以跟隨顯示視窗大小確定,比如為顯示視窗大小1/6,也可以指定。窗口的位置可以跟隨滾動(dòng)條變動(dòng),也可隨著顯示視窗位置確定。
[0083]優(yōu)選地,所述將所述視頻元素中的視頻內(nèi)容放入所述窗口中播放包括:
[0084]子步驟A131,對(duì)于有窗口模式的視頻元素,將所述視頻元素對(duì)應(yīng)的視頻窗口的父窗口修改為所述窗口,使所述視頻窗口嵌入所述窗口中進(jìn)行播放。
[0085]對(duì)于前述有窗口模式和無窗口模式的判斷結(jié)果,當(dāng)視頻元素對(duì)應(yīng)的視頻窗口為有窗口模式時(shí),只要將視頻元素對(duì)應(yīng)的視頻窗口的父窗口修改為所述新建的窗口。那么根據(jù)窗口的運(yùn)行規(guī)則,視頻窗口會(huì)自動(dòng)在父窗口中運(yùn)行。在本發(fā)明實(shí)施例中,可采用SetParent函數(shù)改變窗口的父窗口。
[0086]其中,函數(shù)原型為:SetParent(HWND hffndChild, HWND hffndNewParent);
[0087]其中hWndChild:子窗口句柄。hWndNewParent:新的父窗口句柄。返回值:如果函數(shù)成功,返回值為子窗口的原父窗口句柄;如果函數(shù)失敗,返回值為NULL。若想獲得多錯(cuò)誤信息,請(qǐng)調(diào)用GetLastError函數(shù)。
[0088]當(dāng)然,對(duì)于修改視頻元素對(duì)應(yīng)視頻窗口的父窗口的方式,本發(fā)明不對(duì)其加以限制。
[0089]優(yōu)選地,所述將所述視頻元素中的視頻內(nèi)容放入所述窗口中播放包括:
[0090]子步驟A132,對(duì)于無窗口模式的視頻元素,接管視頻內(nèi)容的繪制輸出函數(shù),將對(duì)視頻內(nèi)容的輸出位置更改為所述在所述窗口中輸出。
[0091]對(duì)于無窗口模式,在實(shí)際運(yùn)行中其是調(diào)用繪制輸出函數(shù),將視頻幀輸出到為視頻元素提供的位圖顯示區(qū)域進(jìn)行繪制,從而將視頻幀以位圖的形式渲染展示。當(dāng)然,每兩幀視頻幀之間的間隔時(shí)間極短,在人的視覺上是連續(xù)的。
[0092]那么,對(duì)于前述無窗口模式和無窗口模式的判斷結(jié)果,當(dāng)視頻元素對(duì)應(yīng)的視頻窗口為無窗口模式時(shí),只有接管對(duì)視頻元素的繪制輸出函數(shù),將其輸出的位置修改為新建的窗口,即可實(shí)現(xiàn)視頻元素的內(nèi)容在所述窗口中播放。
[0093]其中,所述繪制輸出函數(shù)包括:InvalidateRect函數(shù),invalidatereg1n函數(shù),forceredraw函數(shù)其中一個(gè)或者多個(gè)。其實(shí)際應(yīng)用比如:
[0094]host_funcs_.1nvalidaterect = &NPN_InvalidateRect ;
[0095]host_funcs_.1nvalidatereg1n = &NPN_InvalidateReg1n ;
[0096]host_funcs_.forceredraw = &NPN_ForceRedraw ;
[0097]其中,invalidateO是強(qiáng)制系統(tǒng)進(jìn)行重畫,但是不一定就馬上進(jìn)行重畫。因?yàn)镮nvalidateO只是通知系統(tǒng),此時(shí)的窗口已經(jīng)變?yōu)闊o效。其是強(qiáng)制系統(tǒng)調(diào)用WM_PAINT這個(gè)消息寄送至消息隊(duì)列,當(dāng)執(zhí)行到WM_PAINT消息時(shí)才會(huì)使用視頻幀對(duì)窗口進(jìn)行重繪。
[0098]優(yōu)選地,所述由瀏覽器在當(dāng)前頁面視窗上方創(chuàng)建一窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放包括:
[0099]子步驟A133,將所述窗口中對(duì)應(yīng)的視頻元素的控制按鈕隱藏。
[0100]在實(shí)際應(yīng)用中,本發(fā)明可將除了播放視頻內(nèi)容的界面進(jìn)行顯示以外,視頻元素中其他界面均可進(jìn)行隱藏,比如把控制按鈕隱藏,播放區(qū)域的邊界隱藏,使用戶只用看到播放視頻內(nèi)容的界面而不受視頻元素其他按鈕界面的影響。
[0101]在子步驟S133之后,還包括:
[0102]子步驟S1331,當(dāng)偵聽到鼠標(biāo)懸停至所述視頻元素顯示位置時(shí),顯示所述視頻元素中的控制按鈕。
[0103]優(yōu)選地,在由瀏覽器在當(dāng)前頁面視窗上方創(chuàng)建一窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放之后,還包括:
[0104]子步驟A134,獲取當(dāng)前窗口中播放的視頻內(nèi)容的關(guān)聯(lián)視頻信息;當(dāng)偵聽到鼠標(biāo)懸停至所述窗口上時(shí),在窗口中顯示供所述關(guān)聯(lián)視頻信息并提供點(diǎn)擊接口。
[0105]在實(shí)際應(yīng)用中,可能一個(gè)帶有視頻元素的網(wǎng)頁中,存在大量與視頻相關(guān)聯(lián)的視頻信息,本發(fā)明實(shí)施例可獲取當(dāng)前視頻元素中播放的視頻的關(guān)聯(lián)視頻信息;當(dāng)偵聽到鼠標(biāo)懸停至所述視頻元素顯示位置時(shí),在視頻元素顯示供所述關(guān)聯(lián)視頻信息并提供點(diǎn)擊接口。
[0106]當(dāng)在視頻元素顯示位置,監(jiān)控到鼠標(biāo)懸浮事件(onmouseover事件)時(shí),在視頻元素中顯示所述關(guān)聯(lián)視頻信息并提供點(diǎn)擊接口。在顯示相關(guān)視頻信息時(shí),可在視頻元素的播放視頻內(nèi)容的播放區(qū)域之外的其他位置顯示。當(dāng)然,也可以在視頻元素中添加新的展示界面,用以顯示關(guān)聯(lián)視頻信息并針對(duì)每個(gè)視頻信息提供點(diǎn)擊接口。
[0107]當(dāng)用戶點(diǎn)擊針對(duì)某個(gè)視頻Q的點(diǎn)擊接口,則在視頻元素的播放區(qū)域中播放該視頻Q0
[0108]當(dāng)偵測到用戶沒有點(diǎn)擊動(dòng)作,鼠標(biāo)移開視頻元素顯示位置后,即偵測到移出視頻元素顯示位置的onmouseout事件后,則隱藏所述關(guān)聯(lián)視頻信息及其點(diǎn)擊接口。
[0109]優(yōu)選地,在由瀏覽器在當(dāng)前頁面視窗上方創(chuàng)建一窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放之后,還包括:
[0110]子步驟A135,當(dāng)偵聽到鼠標(biāo)懸停至所述窗口上時(shí),加載并展示針對(duì)當(dāng)前視頻內(nèi)容的功能接口 ;所述功能接口包括下載接口、和/或分享接口、和/或收藏接口、和/或調(diào)用第三方視頻播放軟件播放所述視頻內(nèi)容接口。
[0111]即當(dāng)在視頻元素的顯示位置偵聽到鼠標(biāo)懸停事件后,在視頻元素中添加針對(duì)當(dāng)前視頻內(nèi)容的功能接口,所述功能接口包括下載接口、和/或分享接口、和/或收藏接口、和/或調(diào)用第三方視頻播放軟件播放所述視頻內(nèi)容接口中至少一個(gè)。所述下載接口用于調(diào)用瀏覽器的下載組件下載當(dāng)前播放的視頻。所述分享接口用于將當(dāng)前的視頻分享到指定的網(wǎng)站,比如人人網(wǎng),新浪微博等網(wǎng)站。所述調(diào)用第三方視頻播放軟件播放所述視頻內(nèi)容接口包括調(diào)用PPS播放器等播放軟件,在該播放軟件中播放視頻。
[0112]優(yōu)選地,在由瀏覽器在當(dāng)前頁面視窗上方創(chuàng)建一窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放之后,還包括:
[0113]子步驟A136,當(dāng)偵聽到針對(duì)窗口的尺寸變更操作時(shí),根據(jù)拖拽動(dòng)作修改窗口的顯示尺寸。
[0114]在本發(fā)明實(shí)施例中,在窗口的邊框處提供可變更視頻元素尺寸的功能。當(dāng)在窗口的邊框處偵聽到鼠標(biāo)焦點(diǎn),則觸發(fā)邊框拉動(dòng)箭頭,當(dāng)再偵聽到鼠標(biāo)按下+拖動(dòng)的拖拽動(dòng)作時(shí),即再偵聽到onmousedown+onmousemove事件時(shí),則將窗口的尺寸隨著拖拽動(dòng)作變大或者變小。
[0115]優(yōu)選地,在檢測到所述視頻元素在當(dāng)前瀏覽器顯示視窗中部分顯示和/或全部地未被顯示之前,還包括:
[0116]子步驟A137,判斷當(dāng)前網(wǎng)頁中是否存在多個(gè)視頻元素;如果存在,則提示用戶選擇進(jìn)行小窗顯示的播放元素并提供選擇接口 ;對(duì)于用戶未選擇的播放元素,停止判斷所述視頻元素在當(dāng)前瀏覽器顯示視窗中是否部分顯示和/或是否全部地未被顯示。
[0117]在本發(fā)明的瀏覽器可以通過視頻標(biāo)簽識(shí)別頁面中的各個(gè)視頻元素;所述視頻標(biāo)簽比如〈video〉標(biāo)簽,比如〈embed〉標(biāo)簽中的type類型,如果其為視頻類型即表明對(duì)應(yīng)的元素為視頻元素,或者判斷該標(biāo)簽中的id = “flash”、“media”等值,也可判斷元素為視頻元素;比如〈object〉中type類型,如果其為視頻類型即表明對(duì)應(yīng)的元素為視頻元素,或者判斷該標(biāo)簽中的id,id = “flash”、“media”等值,也可判斷元素為視頻元素。
[0118]那么當(dāng)存在多個(gè)視頻元素時(shí),提取視頻元素的主題名稱,然后生成彈出框,在彈出框中以所述主題名稱生成選擇項(xiàng)以供用戶勾選,同時(shí)提示用戶是否選擇將某些視頻元素進(jìn)行窗口播放(可以理解為本發(fā)明實(shí)施例中的獨(dú)立顯示功能)功能。當(dāng)用戶勾選一個(gè)或者多個(gè)選項(xiàng)并確定后,則瀏覽器對(duì)于未選擇的視頻元素,則停止對(duì)其執(zhí)行后續(xù)邏輯,對(duì)用戶勾選的視頻元素,則執(zhí)行后續(xù)邏輯,可進(jìn)入窗口播放模式。
[0119]優(yōu)選地,在由瀏覽器在當(dāng)前頁面視窗上方創(chuàng)建一窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放之后,還包括:
[0120]子步驟A138,當(dāng)偵聽到鼠標(biāo)懸停至所述窗口上時(shí),觸發(fā)對(duì)所述窗口中播放內(nèi)容的暫停操作;當(dāng)鼠標(biāo)移出所述窗口上后,再繼續(xù)播放所述視頻內(nèi)容。
[0121]在本發(fā)明實(shí)施例中,還可提供便捷的暫停和播放功能,即當(dāng)在窗口偵聽到鼠標(biāo)懸停事件后,觸發(fā)對(duì)所述窗口中播放內(nèi)容的暫停操作;當(dāng)鼠標(biāo)移出所述視窗口后,再繼續(xù)播放所述視頻內(nèi)容。
[0122]在實(shí)際中,頁面剛加載完成時(shí)的初始視頻元素中,存在播放/暫停按鈕,本發(fā)明則將需要點(diǎn)擊播放/暫停按鈕的情況,修改為用戶鼠標(biāo)滑動(dòng)至窗口的顯示位置即可暫停視頻,滑出所述窗口,視頻繼續(xù)播放。
[0123]優(yōu)選地,在由瀏覽器在當(dāng)前頁面視窗上方創(chuàng)建一窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放之后,還包括:
[0124]子步驟A139,當(dāng)在所述窗口上偵聽到拖拽動(dòng)作后,將所述窗口的顯示位置的位置隨著拖拽動(dòng)作移動(dòng)。
[0125]當(dāng)在所述窗口偵聽到onmousedown+onmousemove事件時(shí),拖動(dòng)窗口,不改變窗口的顯示尺寸。在本發(fā)明實(shí)施例中,一般是在窗口的視頻播放區(qū)域偵聽到onmousedown+onmousemove事件時(shí),窗口的位置隨著拖拽變化而變化。
[0126]另外,當(dāng)存在子步驟A1331,子步驟S134,子步驟S135,子步驟S138、子步驟S139中多個(gè)功能時(shí),則可將窗口的顯示區(qū)域根據(jù)上述功能的個(gè)數(shù)進(jìn)行劃分,每個(gè)區(qū)域接收到的鼠標(biāo)懸停事件負(fù)責(zé)觸發(fā)一個(gè)功能。
[0127]優(yōu)選地,所述將所述視頻元素中的視頻內(nèi)容放入所述窗口中播放之后,還包括:
[0128]子步驟S140,根據(jù)用戶觸發(fā)的滾動(dòng)條事件,判斷所述顯示視窗中是否全部顯示所述視頻元素的初始顯示位置;如果是,則關(guān)閉所述窗口,并將視頻元素還原至初始顯示位置進(jìn)行播放。
[0129]即判斷網(wǎng)頁移動(dòng)過程中,視頻元素初始出現(xiàn)的顯示區(qū)域是否進(jìn)入瀏覽器顯示視窗范圍之內(nèi),如果進(jìn)入,則關(guān)閉所述窗口,并將視頻元素還原至初始顯示位置進(jìn)行播放。
[0130]優(yōu)選地,對(duì)于有窗口模式的視頻元素,所述將視頻元素還原至初始顯示位置進(jìn)行播放,包括:
[0131 ] 子步驟S1401,將視頻元素對(duì)應(yīng)的視頻窗口的父窗口屬性還原為當(dāng)前頁面窗口。
[0132]對(duì)于有窗口模式的視頻元素,在其初始加載時(shí),其視頻元素對(duì)應(yīng)的視頻窗口,其父窗口屬性為顯示視窗。而本發(fā)明實(shí)施例在用戶移動(dòng)網(wǎng)頁過程中,如果視頻元素的初始顯示位置部分進(jìn)入或者全部進(jìn)入瀏覽器顯示視窗,則將所述視頻窗口的父窗口屬性改回顯示視窗,那么視頻元素的內(nèi)容會(huì)回到原位置顯示。
[0133]優(yōu)選地,對(duì)于無窗口模式的視頻元素,所述將視頻元素還原至初始顯示位置進(jìn)行播放,包括:
[0134]子步驟S1402,停止接管所述視頻內(nèi)容的繪制輸出函數(shù),將對(duì)視頻內(nèi)容的輸出位置還原至視頻窗口的初始顯示位置。
[0135]對(duì)于無窗口模式的視頻元素,如前所述只需停止對(duì)所述視頻內(nèi)容的繪制輸出函數(shù)的接管,將繪制輸出函數(shù)的視頻內(nèi)容輸出位置還原至視頻元素初始的輸出位置,即可使視頻元素在網(wǎng)頁的初始顯示位置進(jìn)行顯示。
[0136]優(yōu)選的,還包括:
[0137]步驟140,當(dāng)檢測用戶切換到另外的標(biāo)簽頁之后;所述標(biāo)簽頁中加載網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁;
[0138]即當(dāng)用戶從當(dāng)前標(biāo)簽頁切換至另外一個(gè)標(biāo)簽頁之后,如果判斷所述標(biāo)簽頁加載網(wǎng)頁文檔也為帶有可播放的視頻元素的特定網(wǎng)頁,那么可進(jìn)入步驟142。
[0139]當(dāng)然,本步驟判斷所述標(biāo)簽頁加載網(wǎng)頁文檔也為帶有可播放的視頻元素的特定網(wǎng)頁與前述過程類似。
[0140]步驟142,若檢測到所述視頻元素在當(dāng)前瀏覽器顯示視窗中部分顯示和/或全部地未被顯示;則直接挪用所述窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放。
[0141]如果在新的標(biāo)簽頁中檢測到所述視頻元素在當(dāng)前瀏覽器顯示視窗中部分顯示和/或全部地未被顯示,則可共享前一標(biāo)簽頁創(chuàng)建的窗口,不用新創(chuàng)建窗口,以前面創(chuàng)建的窗口為基礎(chǔ),所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放。
[0142]當(dāng)然,檢測到所述視頻元素在當(dāng)前瀏覽器顯示視窗中部分顯示和/或全部地未被顯示與前述過程類似。
[0143]優(yōu)選地,所述直接挪用所述窗口包括:
[0144]子步驟1421,將所述窗口的父窗口設(shè)為切換后的標(biāo)簽頁窗口。
[0145]在本發(fā)明中,將前一標(biāo)簽頁的窗口的父窗口屬性設(shè)置為切換后的標(biāo)簽頁窗口,即切換后的瀏覽器顯示視窗,則前一標(biāo)簽頁的窗口可以被切換后的標(biāo)簽頁使用。
[0146]在本發(fā)明實(shí)施例中,上述功能可以以插件/擴(kuò)展的形式注入瀏覽器。當(dāng)然,可以理解對(duì)于chrome瀏覽器,可以直接以瀏覽器邏輯寫入代碼中,也可以以插件/擴(kuò)展的形式注入瀏覽器。對(duì)于IE瀏覽器,可以通過BHO (Browser Helper Ob ject,瀏覽器輔助對(duì)象)的形式注入瀏覽器。
[0147]本發(fā)明實(shí)施例,針對(duì)瀏覽器中當(dāng)前加載網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁,當(dāng)檢測到所述視頻元素在當(dāng)前瀏覽器顯示視窗中部分顯示和/或全部地未被顯示;由瀏覽器在當(dāng)前頁面視窗上方創(chuàng)建一窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放。由此解決了用戶滑動(dòng)頁面時(shí),當(dāng)視頻元素移出顯示視窗之后,用戶瀏覽網(wǎng)頁中的信息時(shí)無法同時(shí)觀看視頻元素中的播放內(nèi)容的問題,取得了可以在網(wǎng)頁文檔中視頻元素的初始位置移出顯示視窗之后,可使視頻元素在獨(dú)立于顯示視窗中的新窗口中播放,使在用戶瀏覽器網(wǎng)頁中其他信息(比如視頻評(píng)論、推薦視頻等)時(shí)可以同時(shí)觀看視頻元素中的播放內(nèi)容的有益效果。
[0148]實(shí)施例二
[0149]參照?qǐng)D2,其示出了本發(fā)明的一種網(wǎng)頁中視頻元素的播放方法,具體可以包括:
[0150]步驟210,確定出瀏覽器中當(dāng)前加載網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁;
[0151]步驟220,根據(jù)網(wǎng)頁整體大小、滾動(dòng)條的顯示位置以及網(wǎng)頁當(dāng)前瀏覽器顯示視窗的顯示位置,確定滾動(dòng)條的滾動(dòng)距離與網(wǎng)頁的滾動(dòng)距離之間的滾動(dòng)比例;
[0152]如圖2A,為瀏覽器加載顯示網(wǎng)頁文檔的示例;S212為瀏覽器顯示視窗,S213為視頻元素的顯示窗口,S214為滾動(dòng)條,S215為滾動(dòng)槽,瀏覽器的其他部件在此省略。在本發(fā)明實(shí)施例中,圖2A是網(wǎng)頁文檔加載完成后,用戶還未被用戶拖動(dòng)時(shí)的初始狀態(tài)示意圖,即瀏覽器加載完網(wǎng)頁文檔,還未檢測到任何onsroll事件。其中,S213所示窗口的當(dāng)前的顯示位置為視頻元素的初始顯示位置。
[0153]在瀏覽器的渲染引擎渲染HTML文檔時(shí),渲染后的頁面的高度一般都會(huì)大于顯示視窗S210的高度,而滾動(dòng)條的滾動(dòng)比例會(huì)根據(jù)頁面的高度變化。所述滾動(dòng)比例為滾動(dòng)條每滾動(dòng)Ipx頁面滾動(dòng)的Npx。N ^ I的整數(shù)。
[0154]那么本發(fā)明可根據(jù)頁面的高度a,顯示視窗的高度b,滾動(dòng)條的長度f計(jì)算所述滾動(dòng)比例g,其計(jì)算公式可為g = a/(b-f)。即計(jì)算滾動(dòng)在滾動(dòng)槽中可滾動(dòng)的長度與頁面的高度之間的比例。
[0155]在本發(fā)明實(shí)施例中可以通過document, body, scrolIHeight函數(shù)獲取網(wǎng)頁文檔的高度,即a ;可通過document, body.clientHeight函數(shù)獲取顯示視窗的高,即b,用GetScrollInfo函數(shù)獲取滾動(dòng)條的高,即C。
[0156]步驟230,獲取所述視頻元素顯示位置中,在視頻元素高度范圍內(nèi)的高度值到顯示視窗頂部的距離閾值L ;
[0157]在本發(fā)明實(shí)施例中,可以選擇在視頻元素的一部分被遮擋了,再以執(zhí)行后續(xù)邏輯以小窗口的模式播放。即可以在視頻元素的高q的范圍內(nèi)選擇一個(gè)位置,計(jì)算什么時(shí)候開始進(jìn)入窗口播放模式。
[0158]比如圖2A中,選擇在視頻元素高的一半q/2處,即視頻元素被遮擋了一半時(shí)即進(jìn)入小窗模式,那么首先需要技術(shù)顯示視窗頂部至視頻元素q/2處的距離L。
[0159]在本發(fā)明實(shí)施例中,獲取所述L的值有多種方法,比如通過getBoundingClientRect O方法獲取視頻元素左上角至顯示視窗頂部的距離k,然后k+q/2=L。
[0160]步驟240,根據(jù)所述滾動(dòng)比例和距離閾值L確定滾動(dòng)條需要滾動(dòng)的第一閾值;
[0161]在獲得L后,只需要計(jì)算滾動(dòng)條的滾動(dòng)的第一閾值。比如滾動(dòng)比例為1:10,即滾動(dòng)條滾動(dòng)lpx,頁面滾動(dòng)1px, L = 200px,那么L*l/10 = 20px,也即滾動(dòng)條需要滾動(dòng)20px。
[0162]步驟250,判斷滾動(dòng)條滾動(dòng)的距離C是否達(dá)到第一閾值;當(dāng)滾動(dòng)條滾動(dòng)的距離C達(dá)到第一閾值時(shí),則判斷出所述視頻元素部分顯示或者全部地未被顯示。
[0163]如前述例子,當(dāng)滾動(dòng)條滾動(dòng)了 20px距離,即判斷所述視頻元素部分顯示和/或全部地未被顯示,達(dá)到需要進(jìn)入小窗口播放模式的時(shí)刻,進(jìn)入步驟260。如圖2B所示,在此刻開始由步驟260進(jìn)入小窗播放模式,即圖2B中的小窗口 S216中播放視頻內(nèi)容。只要用戶在此刻一直往下滑動(dòng),小窗模式就一直存在。當(dāng)判斷視頻元素還是全部的顯示在顯示視窗中時(shí),則保持網(wǎng)頁的初始展示狀態(tài)。
[0164]在本發(fā)明實(shí)施例中可以通過onsroll事件剛觸發(fā)時(shí),獲取滾動(dòng)條的top屬性Pl (即距離頁面頂部距離),然后在滾動(dòng)過程中實(shí)時(shí)獲取所述top屬性p2,由p2_pl即可得知滾動(dòng)條滾動(dòng)距離。
[0165]當(dāng)然,如果是在頁面初始加載后,用戶第一次觸發(fā)onsroll事件,可以直接以top屬性值作為滾動(dòng)條滾動(dòng)距離。
[0166]如果滾動(dòng)條沒滾動(dòng)到20px。則判斷所述不需要進(jìn)入窗口播放模式,不進(jìn)行步驟260。
[0167]步驟220-步驟250可以理解為實(shí)施例一中“根據(jù)視頻元素的顯示位置、顯示視窗的顯示位置、滾動(dòng)條的顯示位置、頁面整體的大小屬性,判斷所述視頻元素在當(dāng)前瀏覽器顯示視窗中部分顯示和/或者全部地未被顯示”的【具體實(shí)施方式】。
[0168]步驟260,判斷出所述視頻元素部分顯示和/或全部地未被顯示,則由瀏覽器在當(dāng)前頁面視窗上方創(chuàng)建一窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放。
[0169]在步驟250中,當(dāng)滾動(dòng)條滾動(dòng)的距離C達(dá)到第一閾值時(shí),即判斷出所述視頻元素部分顯示和/或全部地未被顯示。
[0170]進(jìn)一步的,所述由瀏覽器在當(dāng)前頁面視窗上方創(chuàng)建一窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放之后,還包括:
[0171]步驟270,根據(jù)用戶觸發(fā)的滾動(dòng)條事件,判斷所述顯示視窗中是否全部顯示所述視頻元素的初始顯示位置;如果是,則關(guān)閉所述窗口,并將視頻元素還原至初始顯示位置進(jìn)行播放。
[0172]優(yōu)選地,獲取所述視頻元素顯示位置中,在視頻元素高度范圍內(nèi)的高度值到顯示視窗頂部的距離閾值L包括:
[0173]子步驟231,在網(wǎng)頁加載完成之后,用戶初次觸發(fā)滾動(dòng)條事件時(shí),計(jì)算所述距離閾值L。
[0174]在本發(fā)明實(shí)施例中,在網(wǎng)頁加載完成后,用戶未對(duì)網(wǎng)頁做任何操作之前,所述視頻元素顯示位置中,在視頻元素高度范圍內(nèi)的高度值到顯示視窗頂部的距離閾值L是固定的。
[0175]此時(shí),對(duì)于使用絕對(duì)定位的視頻元素,其top值(視頻元素頂部到網(wǎng)頁頂部的距離),與視頻元素頂部到顯示視窗頂部的距離是一樣的,因此可以直接獲取視頻元素的所述top值,加上選擇的視頻元素的觸發(fā)高度,比如隱藏q/2時(shí)就進(jìn)入開始進(jìn)入窗口播放模式,那么 L = top 值 +q/2 ;
[0176]然后L結(jié)合滾動(dòng)比例計(jì)算第一閾值,在該步驟之后,可以分配很小的內(nèi)存空間記錄所述第一閾值,此時(shí)只需要獲取滾動(dòng)條的top屬性,將滾動(dòng)條的top屬性,與記錄的第一閾值進(jìn)行比較即可判斷是否進(jìn)入窗口播放模式,或者判斷從窗口播放模式還原為初始的網(wǎng)頁樣式。其計(jì)算速度快,不需要后續(xù)在計(jì)算滾動(dòng)比例,L值,以及第一閾值。
[0177]在本發(fā)明實(shí)施例中還可設(shè)置L的其他值,比如L = top值,即視頻元素頂部距離顯示視窗頂部的距離,為判斷顯示視窗開始部分被顯示。也可設(shè)置L = top值+q,即視頻元素開始全部未被顯示。在視頻元素被判斷為部分被全部顯示時(shí)和/或全部未被顯示時(shí)均可進(jìn)入以圖2B中S217將視頻元素調(diào)整為窗口播放的模式。
[0178]本發(fā)明與實(shí)施例一類似的步驟原理類似,在此不再詳述。本發(fā)明實(shí)施例與實(shí)施例一的類似步驟也可以挪用到本實(shí)施例中,具體原理不再詳述。
[0179]本發(fā)明實(shí)施例可以選擇視頻元素未顯示的部分有多少時(shí),才進(jìn)入窗口播放模式。
[0180]本發(fā)明實(shí)施例,針對(duì)瀏覽器中當(dāng)前加載網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁,當(dāng)檢測到所述視頻元素在當(dāng)前瀏覽器顯示視窗中部分顯示和/或全部地未被顯示;由瀏覽器在當(dāng)前頁面視窗上方創(chuàng)建一窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放。由此解決了用戶滑動(dòng)頁面時(shí),當(dāng)視頻元素移出顯示視窗之后,用戶瀏覽網(wǎng)頁中的信息時(shí)無法同時(shí)觀看視頻元素中的播放內(nèi)容的問題,取得了可以在網(wǎng)頁文檔中視頻元素的初始位置移出顯示視窗之后,可使視頻元素在獨(dú)立于顯示視窗中的新窗口中播放,使在用戶瀏覽器網(wǎng)頁中其他信息(比如視頻評(píng)論、推薦視頻等)時(shí)可以同時(shí)觀看視頻元素中的播放內(nèi)容的有益效果。
[0181]實(shí)施例三
[0182]參照?qǐng)D3,其示出了本發(fā)明的一種網(wǎng)頁中視頻元素的播放方法,具體可以包括:
[0183]步驟310,確定出瀏覽器中當(dāng)前加載網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁;
[0184]步驟320,根據(jù)網(wǎng)頁整體大小、滾動(dòng)條的顯示位置以及網(wǎng)頁當(dāng)前瀏覽器顯示視窗的顯示位置,確定滾動(dòng)條的滾動(dòng)距離與網(wǎng)頁的滾動(dòng)距離之間的滾動(dòng)比例;
[0185]步驟330,獲取所述視頻元素顯示位置的頂部到顯示視窗頂部的距離閾值A(chǔ) ;
[0186]該距離閾值A(chǔ)即視頻元素頂部至顯示視窗頂部的距離。
[0187]步驟340,根據(jù)所述滾動(dòng)比例和距離閾值A(chǔ)確定滾動(dòng)條需要滾動(dòng)的第二閾值;
[0188]步驟350,判斷滾動(dòng)條滾動(dòng)的距離C是否達(dá)到第二閾值;當(dāng)滾動(dòng)條滾動(dòng)的距離C達(dá)到第二閾值時(shí),則判斷出所述視頻元素部分顯示。
[0189]判斷所述視頻元素部分顯示后,進(jìn)入步驟360。
[0190]在圖2A的基礎(chǔ)上,本實(shí)施例變化至圖3A,在視頻元素底部與顯示視窗頂部重合的時(shí)候,即進(jìn)入小窗播放模式。其中瀏覽器加載顯示網(wǎng)頁文檔的示例;S312為瀏覽器顯示視窗,S313為原網(wǎng)頁中視頻元素的顯示窗口,S314為滾動(dòng)條,S315為滾動(dòng)槽,瀏覽器的其他部件在此省略。此時(shí)會(huì)觸發(fā)小窗口模式S316,只要用戶在此刻一直往下滑動(dòng),小窗口模式就一直存在。當(dāng)判斷視頻元素還是全部的顯示在顯示視窗中時(shí),則保持網(wǎng)頁的初始展示狀態(tài)。
[0191]步驟320-步驟350可以理解為實(shí)施例一中“根據(jù)視頻元素的顯示位置、顯示視窗的顯示位置、滾動(dòng)條的顯示位置、頁面整體的大小屬性,判斷所述視頻元素在當(dāng)前瀏覽器顯示視窗中部分顯示和/或者全部地未被顯示”的【具體實(shí)施方式】。
[0192]步驟360,判斷出所述視頻元素部分顯示,則由瀏覽器在當(dāng)前頁面視窗上方創(chuàng)建一窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放。
[0193]在步驟350中,當(dāng)滾動(dòng)條滾動(dòng)的距離C達(dá)到第二閾值時(shí),即判斷出所述視頻元素部分顯示。
[0194]進(jìn)一步的,所述由瀏覽器在當(dāng)前頁面視窗上方創(chuàng)建一窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放之后,還包括:
[0195]步驟370,根據(jù)用戶觸發(fā)的滾動(dòng)條事件,判斷所述顯示視窗中是否全部顯示所述視頻元素的初始顯示位置;如果是,則關(guān)閉所述窗口,并將視頻元素還原至初始顯示位置進(jìn)行播放。
[0196]優(yōu)選地,獲取所述視頻元素顯示位置中,在視頻元素高度范圍內(nèi)的高度值到顯示視窗頂部的距離閾值A(chǔ)包括:
[0197]子步驟331,在網(wǎng)頁加載完成之后,用戶初次觸發(fā)滾動(dòng)條事件時(shí),計(jì)算所述距離閾值A(chǔ)。
[0198]進(jìn)一步的,根據(jù)用戶觸發(fā)的滾動(dòng)條事件,判斷所述顯示視窗中是否全部顯示所述視頻元素的初始顯示位置,包括:
[0199]子步驟332,當(dāng)視頻元素開始部分顯示后,根據(jù)用戶觸發(fā)的滾動(dòng)條事件,判斷所述滾動(dòng)條距離所述顯示視窗頂部的距離是否小于所述第二閾值;如果小于所述第二閾值,判斷所述顯示視窗開始全部顯示所述視頻元素的初始顯示位置;
[0200]在本發(fā)明實(shí)施例中,可在網(wǎng)頁加載完成后,用戶第一次觸發(fā)onsroll事件之前就計(jì)算并記錄所述第二閾值。那么后續(xù)的如果用戶向上滑動(dòng)網(wǎng)頁,那么即可判斷滾動(dòng)條頂部距離顯示視窗頂部的距離是否小于所述記錄的第二閾值,即可判斷視頻元素的初始顯示位置已經(jīng)出現(xiàn)在顯示視窗中,此時(shí)即可將視頻元素還原至其初始的顯示位置,停用窗口播放模式。
[0201]本發(fā)明與實(shí)施例一至實(shí)施例二類似的步驟原理類似,在此不再詳述。本發(fā)明實(shí)施例與實(shí)施例一至實(shí)施例二的類似步驟也可以挪用到本實(shí)施例中,具體原理不再詳述。
[0202]本發(fā)明實(shí)施例為視頻元素開始進(jìn)入未完全顯示狀態(tài)時(shí)即進(jìn)入窗口播放模式的實(shí)施例。
[0203]本發(fā)明實(shí)施例,針對(duì)瀏覽器中當(dāng)前加載網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁,當(dāng)檢測到所述視頻元素在當(dāng)前瀏覽器顯示視窗中部分顯示和/或全部地未被顯示;由瀏覽器在當(dāng)前頁面視窗上方創(chuàng)建一窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放。由此解決了用戶滑動(dòng)頁面時(shí),當(dāng)視頻元素移出顯示視窗之后,用戶瀏覽網(wǎng)頁中的信息時(shí)無法同時(shí)觀看視頻元素中的播放內(nèi)容的問題,取得了可以在網(wǎng)頁文檔中視頻元素的初始位置移出顯示視窗之后,可使視頻元素在獨(dú)立于顯示視窗中的新窗口中播放,使在用戶瀏覽器網(wǎng)頁中其他信息(比如視頻評(píng)論、推薦視頻等)時(shí)可以同時(shí)觀看視頻元素中的播放內(nèi)容的有益效果。
[0204]實(shí)施例四
[0205]參照?qǐng)D4,其示出了本發(fā)明的一種網(wǎng)頁中視頻元素的播放方法,具體可以包括:
[0206]步驟410,確定出瀏覽器中當(dāng)前加載網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁;
[0207]步驟420,根據(jù)網(wǎng)頁整體大小、滾動(dòng)條的顯示位置以及網(wǎng)頁當(dāng)前瀏覽器顯示視窗的顯示位置,確定滾動(dòng)條的滾動(dòng)距離與網(wǎng)頁的滾動(dòng)距離之間的滾動(dòng)比例;
[0208]步驟420,根據(jù)網(wǎng)頁整體大小、滾動(dòng)條的顯示位置以及網(wǎng)頁當(dāng)前瀏覽器顯示視窗的顯示位置,確定滾動(dòng)條的滾動(dòng)距離與網(wǎng)頁的滾動(dòng)距離之間的滾動(dòng)比例;
[0209]步驟430,獲取所述視頻元素顯示位置的頂部到顯示視窗頂部的距離閾值B ;
[0210]該距離閾值為視頻元素頂部到顯示視窗頂部的距離加上視頻元素的高度。
[0211]步驟440 ;根據(jù)所述滾動(dòng)比例和距離閾值B確定滾動(dòng)條需要滾動(dòng)的第三閾值;
[0212]步驟450,當(dāng)滾動(dòng)條滾動(dòng)的距離C達(dá)到第三閾值時(shí),則判斷出所述視頻元素全部地未被顯不。
[0213]判斷所述視頻元素部分顯示后,進(jìn)入步驟460。
[0214]在圖2A的基礎(chǔ)上,本實(shí)施例變化至圖4A,在視頻元素頂部與顯示視窗頂部重合的時(shí)候,即進(jìn)入小窗播放模式。其中瀏覽器加載顯示網(wǎng)頁文檔的示例;S412為瀏覽器顯示視窗,S413為原網(wǎng)頁中視頻元素的顯示窗口,S414為滾動(dòng)條,S415為滾動(dòng)槽,瀏覽器的其他部件在此省略。此時(shí)會(huì)觸發(fā)小窗口模式S416,只要用戶在此刻一直往下滑動(dòng),小窗模式就一直存在。
[0215]步驟420-步驟450可以理解為實(shí)施例一中“根據(jù)視頻元素的顯示位置、顯示視窗的顯示位置、滾動(dòng)條的顯示位置、頁面整體的大小屬性,判斷所述視頻元素在當(dāng)前瀏覽器顯示視窗中部分顯示和/或者全部地未被顯示”的【具體實(shí)施方式】。
[0216]步驟460,判斷出所述視頻元素全部地未被顯示,則由瀏覽器在當(dāng)前頁面視窗上方創(chuàng)建一窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放。
[0217]在步驟450,中當(dāng)滾動(dòng)條滾動(dòng)的距離C達(dá)到第三閾值時(shí),即判斷出所述視頻元素全部地未被顯不。
[0218]進(jìn)一步的,所述由瀏覽器在當(dāng)前頁面視窗上方創(chuàng)建一窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放之后,還包括:
[0219]步驟470,根據(jù)用戶觸發(fā)的滾動(dòng)條事件,判斷所述顯示視窗中是否全部顯示所述視頻元素的初始顯示位置;如果是,則關(guān)閉所述窗口,并將視頻元素還原至初始顯示位置進(jìn)行播放。
[0220]優(yōu)選地,獲取所述視頻元素顯示位置中,在視頻元素高度范圍內(nèi)的高度值到顯示視窗頂部的距離閾值B包括:
[0221]子步驟431,在網(wǎng)頁加載完成之后,用戶初次觸發(fā)滾動(dòng)條事件時(shí),計(jì)算所述距離閾值B。
[0222]進(jìn)一步的,根據(jù)用戶觸發(fā)的滾動(dòng)條事件,判斷所述顯示視窗中是否全部顯示所述視頻元素的初始顯示位置,包括:
[0223]子步驟432,當(dāng)視頻元素開始部分顯示后,根據(jù)用戶觸發(fā)的滾動(dòng)條事件,判斷所述滾動(dòng)條距離所述顯示視窗頂部的距離是否小于所述第三閾值;如果小于所述第三閾值,判斷所述顯示視窗開始全部顯示所述視頻元素的初始顯示位置;
[0224]在本發(fā)明實(shí)施例中,可在網(wǎng)頁加載完成后,用戶第一次觸發(fā)onsroll事件之前就計(jì)算并記錄所述第三閾值。那么后續(xù)的如果用戶向上滑動(dòng)網(wǎng)頁,那么即可判斷滾動(dòng)條頂部距離顯示視窗頂部的距離是否小于所述記錄的第二閾值,即可判斷視頻元素的初始顯示位置已經(jīng)出現(xiàn)在顯示視窗中,此時(shí)即可將視頻元素還原至其初始的顯示位置,停用窗口播放模式。
[0225]本發(fā)明與實(shí)施例一至實(shí)施例三類似的步驟原理類似,在此不再詳述。本發(fā)明實(shí)施例與實(shí)施例一至實(shí)施例三的類似步驟也可以挪用到本實(shí)施例中,具體原理不再詳述。
[0226]本發(fā)明實(shí)施例為視頻元素開始進(jìn)入完全未顯示狀態(tài)時(shí)即進(jìn)入窗口播放模式的實(shí)施例。
[0227]本發(fā)明實(shí)施例,針對(duì)瀏覽器中當(dāng)前加載網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁,當(dāng)檢測到所述視頻元素在當(dāng)前瀏覽器顯示視窗中部分顯示和/或全部地未被顯示;由瀏覽器在當(dāng)前頁面視窗上方創(chuàng)建一窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放。由此解決了用戶滑動(dòng)頁面時(shí),當(dāng)視頻元素移出顯示視窗之后,用戶瀏覽網(wǎng)頁中的信息時(shí)無法同時(shí)觀看視頻元素中的播放內(nèi)容的問題,取得了可以在網(wǎng)頁文檔中視頻元素的初始位置移出顯示視窗之后,可使視頻元素在獨(dú)立于顯示視窗中的新窗口中播放,使在用戶瀏覽器網(wǎng)頁中其他信息(比如視頻評(píng)論、推薦視頻等)時(shí)可以同時(shí)觀看視頻元素中的播放內(nèi)容的有益效果。
[0228]實(shí)施例五
[0229]參照?qǐng)D5,其示出了本發(fā)明的一種網(wǎng)頁中視頻元素的播放方法,具體可以包括:
[0230]步驟510,針對(duì)瀏覽器獲取的網(wǎng)頁文檔,判斷所述網(wǎng)頁文檔是否為帶有可播放的視頻元素的特定網(wǎng)頁;如果是,則進(jìn)入步驟512 ;
[0231]步驟512,檢測所述視頻元素在當(dāng)前瀏覽器顯示視窗中是否部分顯示和/或全部地未被顯示;如果是,則進(jìn)入步驟514 ;
[0232]步驟514,判斷所述視頻元素對(duì)應(yīng)的視頻窗口為有窗口模式還是無窗口模式;如果是有窗口模式,進(jìn)入步驟516 ;如果是有窗口模式,進(jìn)入步驟518;
[0233]步驟516,將所述視頻元素對(duì)應(yīng)的視頻窗口的父窗口修改為所述窗口,使所述視頻窗口嵌入所述窗口中進(jìn)行播放;進(jìn)入步驟520 ;
[0234]步驟518,接管視頻內(nèi)容的繪制輸出函數(shù),將對(duì)視頻內(nèi)容的輸出位置更改為所述在所述窗口中輸出;進(jìn)入步驟520 ;
[0235]步驟520,根據(jù)用戶觸發(fā)的滾動(dòng)條事件,判斷所述顯示視窗中是否全部顯示所述視頻元素的初始顯示位置;如果是,則進(jìn)入步驟522 ;如果否,則保持當(dāng)前狀態(tài);
[0236]步驟522,關(guān)閉所述窗口,并將視頻元素還原至初始顯示位置進(jìn)行播放。
[0237]本發(fā)明與實(shí)施例一至實(shí)施例四類似的步驟原理類似,在此不再詳述。本發(fā)明實(shí)施例與實(shí)施例一至實(shí)施例四的類似步驟也可以挪用到本實(shí)施例中,具體原理不再詳述。
[0238]當(dāng)然,在上述實(shí)施例之外,所述顯示控制腳本判斷出所述視頻元素在當(dāng)前瀏覽器顯示視窗中部分顯示或者全部地未被顯示還可包括:
[0239]通過獲取視頻元素距離網(wǎng)頁文檔頂部的距離了 LI,通過document, body.scrollTop函數(shù)獲取網(wǎng)頁文檔被卷去的高度L2,(也即網(wǎng)頁隱藏的高度);當(dāng)1^1 =L2,則視頻元素開始進(jìn)入部分顯示階段;和/或者,當(dāng)L1〈L2〈L1+L3,其中L3為視頻元素高度,則視頻元素部分顯示;和/或者當(dāng)L2 ^ L1+L3,則視頻元素進(jìn)入視頻元素完畢未被顯示階段。
[0240]實(shí)施例六
[0241]參照?qǐng)D6,其示出了本發(fā)明的一種網(wǎng)頁中視頻元素的播放裝置,具體可以包括:
[0242]網(wǎng)頁判斷模塊610,適于確定出瀏覽器中當(dāng)前加載網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁;
[0243]顯示位置判斷模塊620,適于檢測到所述視頻元素在當(dāng)前瀏覽器顯示視窗中部分顯示和/或全部地未被顯示;
[0244]窗口播放模塊630,適于由瀏覽器在當(dāng)前頁面視窗上方創(chuàng)建一窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放。
[0245]優(yōu)選地,所述網(wǎng)頁判斷模塊610包括:
[0246]網(wǎng)址判斷模塊,適于針對(duì)當(dāng)前網(wǎng)頁文檔對(duì)應(yīng)的網(wǎng)址,根據(jù)以通配符構(gòu)建的網(wǎng)址匹配規(guī)則和/或預(yù)置的網(wǎng)址名單,對(duì)所述網(wǎng)址進(jìn)行匹配;當(dāng)網(wǎng)址匹配上,則判斷出所述網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁。
[0247]優(yōu)選地,所述網(wǎng)址判斷模塊包括:
[0248]網(wǎng)頁模板判斷模塊,適于在網(wǎng)址匹配上之后,提取對(duì)應(yīng)所述網(wǎng)址的網(wǎng)頁架構(gòu)模板,并利用所述網(wǎng)頁架構(gòu)模板對(duì)所述網(wǎng)頁文檔進(jìn)行匹配;當(dāng)所述網(wǎng)頁文檔與上述網(wǎng)頁架構(gòu)模板匹配上,則判斷出所述網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁。
[0249]優(yōu)選地,還包括:
[0250]切換模塊,適于當(dāng)檢測用戶切換到另外的標(biāo)簽頁之后;所述標(biāo)簽頁中加載網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁;
[0251]窗口共享模塊,適于若檢測到所述視頻元素在當(dāng)前瀏覽器顯示視窗中部分顯示和/或全部地未被顯示;則直接挪用所述窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放。
[0252]優(yōu)選地,所述窗口共享模塊包括:包括:
[0253]窗口父子變更模塊,適于在所述直接挪用所述窗口時(shí),將所述窗口的父窗口設(shè)為切換后的標(biāo)簽頁窗口。
[0254]優(yōu)選地,所述顯示位置判斷模塊630之后,還包括:
[0255]窗口模式判斷模塊,適于判斷所述視頻元素對(duì)應(yīng)的視頻窗口為有窗口模式還是無窗口模式
[0256]優(yōu)選地,所述窗口播放模塊630包括:
[0257]有窗模式播放模塊,適于對(duì)于有窗口模式的視頻元素,將所述視頻元素對(duì)應(yīng)的視頻窗口的父窗口修改為所述窗口,使所述視頻窗口嵌入所述窗口中進(jìn)行播放。
[0258]優(yōu)選地,所述窗口播放模塊630包括:
[0259]無窗模式播放模塊,適于對(duì)于無窗口模式的視頻元素,接管視頻內(nèi)容的繪制輸出函數(shù),將對(duì)視頻內(nèi)容的輸出位置更改為所述在所述窗口中輸出。
[0260]優(yōu)選地,所述繪制輸出函數(shù)包括:
[0261]InvalidateRect 函數(shù),invalidatereg1n 函數(shù),forceredraw 函數(shù)其中一個(gè)或者多個(gè)。
[0262]優(yōu)選地,所述窗口模式判斷模塊包括:
[0263]第一窗口模式判斷模塊,適于通過網(wǎng)頁文檔中的〈param〉標(biāo)簽判斷所述視頻窗口為有窗口模式還是無窗口模式。
[0264]優(yōu)選地,所述顯示位置判斷模塊620包括:
[0265]第一顯示位置判斷模塊,適于根據(jù)視頻元素的顯示位置、顯示視窗的顯示位置、滾動(dòng)條的顯示位置、頁面整體的大小屬性,判斷所述視頻元素在當(dāng)前瀏覽器顯示視窗中部分顯示和/或全部地未被顯示。
[0266]優(yōu)選地,所述窗口播放模塊630之后,還包括:
[0267]還原判斷模塊,適于根據(jù)用戶觸發(fā)的滾動(dòng)條事件,判斷所述顯示視窗中是否全部顯示所述視頻元素的初始顯示位置;適于如果是,則關(guān)閉所述窗口,并將視頻元素還原至初始顯示位置進(jìn)行播放。
[0268]優(yōu)選地,所述還原判斷模塊包括:
[0269]第一還原模塊,適于對(duì)于有窗口模式的視頻元素,將視頻元素對(duì)應(yīng)的視頻窗口的父窗口屬性還原為當(dāng)前頁面窗口。
[0270]優(yōu)選地,所述還原判斷模塊包括:
[0271]第二還原模塊,適于停止接管所述視頻內(nèi)容的繪制輸出函數(shù),將對(duì)視頻內(nèi)容的輸出位置還原至視頻窗口的初始顯示位置。
[0272]優(yōu)選地,所述窗口播放模塊630包括:
[0273]按鈕隱藏模塊,適于將所述窗口中對(duì)應(yīng)的視頻元素的控制按鈕隱藏。
[0274]優(yōu)選地,在窗口播放模塊630之后,還包括:
[0275]關(guān)聯(lián)視頻接口提模塊,適于獲取當(dāng)前窗口中播放的視頻內(nèi)容的關(guān)聯(lián)視頻信息;當(dāng)偵聽到鼠標(biāo)懸停至所述窗口上時(shí),在窗口中顯示供所述關(guān)聯(lián)視頻信息并提供點(diǎn)擊接口。
[0276]優(yōu)選地,在窗口播放模塊630之后,還包括:
[0277]功能結(jié)構(gòu)提供模塊,適于當(dāng)偵聽到鼠標(biāo)懸停至所述窗口上時(shí),加載并展示針對(duì)當(dāng)前視頻內(nèi)容的功能接口 ;所述功能接口包括下載接口、和/或分享接口、和/或收藏接口、和/或調(diào)用第三方視頻播放軟件播放所述視頻內(nèi)容接口。
[0278]優(yōu)選地,在窗口播放模塊630之后,還包括:
[0279]尺寸改變模塊,適于當(dāng)偵聽到針對(duì)窗口的尺寸變更操作時(shí),根據(jù)拖拽動(dòng)作修改窗口的顯示尺寸。
[0280]優(yōu)選地,在顯示位置判斷模塊620之前,還包括:
[0281]選擇提示模塊,適于判斷當(dāng)前網(wǎng)頁中是否存在多個(gè)視頻元素;如果存在,則提示用戶選擇進(jìn)行小窗顯示的播放元素并提供選擇接口 ;對(duì)于用戶未選擇的播放元素,停止判斷所述視頻元素在當(dāng)前瀏覽器顯示視窗中是否部分顯示和/或是否全部地未被顯示。
[0282]優(yōu)選地,在窗口播放模塊630之后,還包括:
[0283]暫停模塊,適于當(dāng)偵聽到鼠標(biāo)懸停至所述視頻元素顯示位置時(shí),觸發(fā)對(duì)所述窗口中播放內(nèi)容的暫停操作;當(dāng)鼠標(biāo)移出所述視頻元素顯示位置后,再繼續(xù)播放所述視頻內(nèi)容。
[0284]優(yōu)選地,在窗口播放模塊630之后,還包括:
[0285]位置移動(dòng)模塊,適于當(dāng)在所述窗口上偵聽到拖拽動(dòng)作后,將所述窗口的顯示位置的位置隨著拖拽動(dòng)作移動(dòng)。
[0286]實(shí)施例七
[0287]參照?qǐng)D7,其示出了本發(fā)明的一種網(wǎng)頁中視頻元素的播放裝置,具體可以包括:
[0288]網(wǎng)頁判斷模塊710,適于確定出瀏覽器中當(dāng)前加載網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁;
[0289]第一顯示位置判斷模塊720,所述第一顯示位置判斷模塊720包括;
[0290]第一滾動(dòng)比例計(jì)算模塊722,適于根據(jù)網(wǎng)頁整體大小、滾動(dòng)條的顯示位置以及網(wǎng)頁當(dāng)前瀏覽器顯示視窗的顯示位置,確定滾動(dòng)條的滾動(dòng)距離與網(wǎng)頁的滾動(dòng)距離之間的滾動(dòng)比例;
[0291]第一滾動(dòng)距離獲取模塊724,適于獲取所述視頻元素顯示位置中,在視頻元素高度范圍內(nèi)的高度值到顯示視窗頂部的距離閾值L ;
[0292]第一滾動(dòng)閾值確定模塊726,適于根據(jù)所述滾動(dòng)比例和距離閾值L確定滾動(dòng)條需要滾動(dòng)的第一閾值;
[0293]第一元素判斷模塊728,適于當(dāng)滾動(dòng)條滾動(dòng)的距離C達(dá)到第一閾值時(shí),則判斷所述視頻元素部分顯示或者全部地未被顯示。
[0294]窗口播放模塊730,適于由瀏覽器在當(dāng)前頁面視窗上方創(chuàng)建一窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放。
[0295]優(yōu)選地,所述窗口播放模塊730之后,還包括:
[0296]還原判斷模塊,適于根據(jù)用戶觸發(fā)的滾動(dòng)條事件,判斷所述顯示視窗中是否全部顯示所述視頻元素的初始顯示位置;適于如果是,則關(guān)閉所述窗口,并將視頻元素還原至初始顯示位置進(jìn)行播放。
[0297]實(shí)施例八
[0298]參照?qǐng)D8,其示出了本發(fā)明的一種網(wǎng)頁中視頻元素的播放裝置,具體可以包括:
[0299]網(wǎng)頁判斷模塊810,適于確定出瀏覽器中當(dāng)前加載網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁;
[0300]第一顯示位置判斷模塊820,所述第一顯示位置判斷模塊820包括;
[0301]第二滾動(dòng)比例計(jì)算模塊822,適于根據(jù)網(wǎng)頁整體大小、滾動(dòng)條的顯示位置以及網(wǎng)頁當(dāng)前瀏覽器顯示視窗的顯示位置,確定滾動(dòng)條的滾動(dòng)距離與網(wǎng)頁的滾動(dòng)距離之間的滾動(dòng)比例;
[0302]第二滾動(dòng)距離獲取模塊824,適于獲取所述視頻元素顯示位置的頂部到顯示視窗頂部的距離閾值A(chǔ) ;
[0303]優(yōu)選地,所述第二滾動(dòng)距離獲取模塊824包括:
[0304]第一觸發(fā)計(jì)算模塊,適于在網(wǎng)頁加載完成之后,用戶初次觸發(fā)滾動(dòng)條事件時(shí),計(jì)算所述距離閾值A(chǔ)。
[0305]第二滾動(dòng)閾值確定模塊826,適于根據(jù)所述滾動(dòng)比例和距離閾值A(chǔ)確定滾動(dòng)條需要滾動(dòng)的第二閾值;
[0306]部分顯示判斷模塊828,適于當(dāng)滾動(dòng)條滾動(dòng)的距離C達(dá)到第二閾值時(shí),則判斷所述視頻元素部分顯示。
[0307]窗口播放模塊830,適于由瀏覽器在當(dāng)前頁面視窗上方創(chuàng)建一窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放。
[0308]優(yōu)選地,所述窗口播放模塊830之后,還包括:
[0309]還原判斷模塊,適于根據(jù)用戶觸發(fā)的滾動(dòng)條事件,判斷所述顯示視窗中是否全部顯示所述視頻元素的初始顯示位置;適于如果是,則關(guān)閉所述窗口,并將視頻元素還原至初始顯示位置進(jìn)行播放。
[0310]優(yōu)選地,所述還原判斷模塊包括:
[0311]第一還原判斷模塊,適于當(dāng)視頻元素開始部分顯示后,根據(jù)用戶觸發(fā)的滾動(dòng)條事件,判斷所述滾動(dòng)條距離所述顯示視窗頂部的距離是否小于所述第二閾值;如果小于所述第二閾值,判斷所述顯示視窗開始全部顯示所述視頻元素的初始顯示位置;
[0312]實(shí)施例九
[0313]參照?qǐng)D9,其示出了本發(fā)明的一種網(wǎng)頁中視頻元素的播放裝置,具體可以包括:
[0314]網(wǎng)頁判斷模塊910,適于確定出瀏覽器中當(dāng)前加載網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁;
[0315]第一顯示位置判斷模塊920,所述第一顯示位置判斷模塊920包括;
[0316]第三滾動(dòng)比例計(jì)算模塊922,適于根據(jù)網(wǎng)頁整體大小、滾動(dòng)條的顯示位置以及網(wǎng)頁當(dāng)前瀏覽器顯示視窗的顯示位置,確定滾動(dòng)條的滾動(dòng)距離與網(wǎng)頁的滾動(dòng)距離之間的滾動(dòng)比例;
[0317]第三滾動(dòng)距離獲取模塊924,適于獲取所述視頻元素顯示位置的頂部到顯示視窗頂部的距離閾值B;
[0318]優(yōu)選地,所述第二滾動(dòng)距離獲取模塊924包括:
[0319]第一觸發(fā)計(jì)算模塊,適于在網(wǎng)頁加載完成之后,用戶初次觸發(fā)滾動(dòng)條事件時(shí),計(jì)算所述距離閾值B。
[0320]第三滾動(dòng)距離獲取模塊926,適于獲取所述視頻元素顯示位置的底部到顯示視窗頂部的距離閾值B;
[0321]全部未顯示判斷模塊928,適于當(dāng)滾動(dòng)條滾動(dòng)的距離C達(dá)到第三閾值時(shí),則判斷所述視頻元素部分顯示。
[0322]窗口播放模塊930,適于由瀏覽器在當(dāng)前頁面視窗上方創(chuàng)建一窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放。
[0323]優(yōu)選地,所述顯示位置更改模塊930之后,還包括:
[0324]還原判斷模塊,適于根據(jù)用戶觸發(fā)的滾動(dòng)條事件,判斷所述顯示視窗中是否全部顯示所述視頻元素的初始顯示位置;適于如果是,則關(guān)閉所述窗口,并將視頻元素還原至初始顯示位置進(jìn)行播放。
[0325]優(yōu)選地,所述還原判斷模塊包括:
[0326]第一還原判斷模塊,適于當(dāng)視頻元素開始部分顯示后,根據(jù)用戶觸發(fā)的滾動(dòng)條事件,判斷所述滾動(dòng)條距離所述顯示視窗頂部的距離是否小于所述第三閾值;如果小于所述第三閾值,判斷所述顯示視窗開始全部顯示所述視頻元素的初始顯示位置;
[0327]實(shí)施例十
[0328]參照?qǐng)D10,其示出了本發(fā)明的一種網(wǎng)頁中視頻元素的播放裝置,具體可以包括:
[0329]特定網(wǎng)頁判斷模塊1010,適于針對(duì)瀏覽器獲取的網(wǎng)頁文檔,判斷所述網(wǎng)頁文檔是否為帶有可播放的視頻元素的特定網(wǎng)頁;如果是,則進(jìn)入視頻元素顯示檢測模塊1012 ;
[0330]視頻元素顯示檢測模塊1012,適于檢測所述視頻元素在當(dāng)前瀏覽器顯示視窗中是否部分顯示和/或全部地未被顯示;如果是,則進(jìn)入元素窗口模式判斷模塊1014 ;
[0331]元素窗口模式判斷模塊1014,判斷所述視頻元素對(duì)應(yīng)的視頻窗口為有窗口模式還是無窗口模式;如果是有窗口模式,進(jìn)入有窗口修改模塊1016 ;如果是有窗口模式,進(jìn)入無窗口修改模塊1018 ;
[0332]有窗口修改模塊1016,適于將所述視頻元素對(duì)應(yīng)的視頻窗口的父窗口修改為所述窗口,使所述視頻窗口嵌入所述窗口中進(jìn)行播放;進(jìn)入還原判斷模塊1020 ;
[0333]無窗口修改模塊1018,適于接管視頻內(nèi)容的繪制輸出函數(shù),將對(duì)視頻內(nèi)容的輸出位置更改為所述在所述窗口中輸出;進(jìn)入還原判斷模塊1020 ;
[0334]還原判斷模塊1020,適于根據(jù)用戶觸發(fā)的滾動(dòng)條事件,判斷所述顯示視窗中是否全部顯示所述視頻元素的初始顯示位置;如果是,則進(jìn)入還原模塊1022 ;如果否,則保持當(dāng)前狀態(tài);
[0335]還原模塊1022,關(guān)閉所述窗口,并將視頻元素還原至初始顯示位置進(jìn)行播放。
[0336]在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對(duì)任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。
[0337]在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說明書的理解。
[0338]類似地,應(yīng)當(dāng)理解,為了精簡本公開并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或?qū)ζ涞拿枋鲋?。然而,并不?yīng)將該公開的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個(gè)實(shí)施例的所有特征。因此,遵循【具體實(shí)施方式】的權(quán)利要求書由此明確地并入該【具體實(shí)施方式】,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
[0339]本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過程或單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來代替。
[0340]此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來使用。
[0341]本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或以在一個(gè)或多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或數(shù)字信號(hào)處理器(DSP)來實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的網(wǎng)頁中視頻元素的播放設(shè)備中的一些或全部部件的一些或全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或全部地設(shè)備或裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或可以具有一個(gè)或多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或在載體信號(hào)上提供,或以任何其他形式提供。
[0342]應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過同一個(gè)硬件項(xiàng)來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
[0343]本發(fā)明公開了 Al、一種網(wǎng)頁中視頻元素的播放方法,包括:
[0344]確定出瀏覽器中當(dāng)前加載網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁;
[0345]檢測到所述視頻元素在當(dāng)前瀏覽器顯示視窗中部分顯示和/或全部地未被顯示;
[0346]由瀏覽器在當(dāng)前頁面視窗上方創(chuàng)建一窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放。
[0347]A2、如Al所述的方法,所述判斷出所述網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁包括:
[0348]針對(duì)當(dāng)前網(wǎng)頁文檔對(duì)應(yīng)的網(wǎng)址,根據(jù)以通配符構(gòu)建的網(wǎng)址匹配規(guī)則和/或預(yù)置的網(wǎng)址名單,對(duì)所述網(wǎng)址進(jìn)行匹配;當(dāng)網(wǎng)址匹配上,則判斷出所述網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁。
[0349]A3、如A2所述的方法,在網(wǎng)址匹配上之后,包括:
[0350]提取對(duì)應(yīng)所述網(wǎng)址的網(wǎng)頁架構(gòu)模板,并利用所述網(wǎng)頁架構(gòu)模板對(duì)所述網(wǎng)頁文檔進(jìn)行匹配;當(dāng)所述網(wǎng)頁文檔與上述網(wǎng)頁架構(gòu)模板匹配上,則判斷出所述網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁。
[0351]A4、如Al所述的方法,還包括:
[0352]當(dāng)檢測用戶切換到另外的標(biāo)簽頁之后;所述標(biāo)簽頁中加載網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁;
[0353]若檢測到所述視頻元素在當(dāng)前瀏覽器顯示視窗中部分顯示和/或全部地未被顯示;則直接挪用所述窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放。
[0354]A5、如Al所述的方法,所述直接挪用所述窗口包括:
[0355]將所述窗口的父窗口設(shè)為切換后的標(biāo)簽頁窗口。
[0356]A6、如Al或A4所述的方法,在檢測到所述視頻元素部分顯示和/或全部地未被顯示之后還包括:
[0357]判斷所述視頻元素對(duì)應(yīng)的視頻窗口為有窗口模式還是無窗口模式。
[0358]A7、如A6所述的方法,所述將所述視頻元素中的視頻內(nèi)容放入所述窗口中播放包括:
[0359]對(duì)于有窗口模式的視頻元素,將所述視頻元素對(duì)應(yīng)的視頻窗口的父窗口修改為所述窗口,使所述視頻窗口嵌入所述窗口中進(jìn)行播放。
[0360]A8、如A6所述的方法,所述將所述視頻元素中的視頻內(nèi)容放入所述窗口中播放包括:
[0361]對(duì)于無窗口模式的視頻元素,接管視頻內(nèi)容的繪制輸出函數(shù),將對(duì)視頻內(nèi)容的輸出位置更改為所述在所述窗口中輸出。
[0362]A9、如A8所述的方法,所述繪制輸出函數(shù)包括:
[0363]InvalidateRect 函數(shù),invalidatereg1n 函數(shù),forceredraw 函數(shù)其中一個(gè)或者多個(gè)。
[0364]AlOjn A6所述的方法,所述判斷所述視頻元素對(duì)應(yīng)的視頻窗口為有窗口模式還是無窗口模式,包括:
[0365]通過網(wǎng)頁文檔中的<param>標(biāo)簽判斷所述視頻窗口為有窗口模式還是無窗口模式。
[0366]AU、如Al所述的方法,所述檢測到所述視頻元素在當(dāng)前瀏覽器顯示視窗中部分顯示和/或全部地未被顯示,包括:
[0367]根據(jù)視頻元素的顯示位置、顯示視窗的顯示位置、滾動(dòng)條的顯示位置、頁面整體的大小屬性,判斷所述視頻元素在當(dāng)前瀏覽器顯示視窗中部分顯示和/或全部地未被顯示。
[0368]A12、如All所述的方法,根據(jù)視頻元素的顯示位置、顯示視窗的顯示位置、滾動(dòng)條的顯示位置、頁面整體的大小屬性,判斷所述視頻元素在當(dāng)前瀏覽器顯示視窗中部分顯示和/或者全部地未被顯示包括:
[0369]根據(jù)網(wǎng)頁整體大小、滾動(dòng)條的顯示位置以及網(wǎng)頁當(dāng)前瀏覽器顯示視窗的顯示位置,確定滾動(dòng)條的滾動(dòng)距離與網(wǎng)頁的滾動(dòng)距離之間的滾動(dòng)比例;
[0370]獲取所述視頻元素顯示位置中,在視頻元素高度范圍內(nèi)的高度值到顯示視窗頂部的距離閾值L ;
[0371]根據(jù)所述滾動(dòng)比例和距離閾值L確定滾動(dòng)條需要滾動(dòng)的第一閾值;
[0372]當(dāng)滾動(dòng)條滾動(dòng)的距離C達(dá)到第一閾值時(shí),則判斷所述視頻元素部分顯示或者全部地未被顯示。
[0373]A13、如All所述的方法,根據(jù)視頻元素的顯示位置、顯示視窗的顯示位置、滾動(dòng)條的顯示位置、頁面整體的大小屬性,判斷所述視頻元素在當(dāng)前瀏覽器顯示視窗中部分顯示包括:
[0374]根據(jù)網(wǎng)頁整體大小、滾動(dòng)條的顯示位置以及網(wǎng)頁當(dāng)前瀏覽器顯示視窗的顯示位置,確定滾動(dòng)條的滾動(dòng)距離與網(wǎng)頁的滾動(dòng)距離之間的滾動(dòng)比例;
[0375]獲取所述視頻元素顯示位置的頂部到顯示視窗頂部的距離閾值A(chǔ) ;
[0376]根據(jù)所述滾動(dòng)比例和距離閾值A(chǔ)確定滾動(dòng)條需要滾動(dòng)的第一閾值,當(dāng)滾動(dòng)條滾動(dòng)的距離C達(dá)到第一閾值時(shí),則判斷所述視頻元素部分顯示。
[0377]A14、如All所述的方法,根據(jù)視頻元素的顯示位置、顯示視窗的顯示位置、滾動(dòng)條的顯示位置、頁面整體的大小,判斷所述視頻元素在當(dāng)前瀏覽器顯示視窗中全部地未被顯示包括:
[0378]根據(jù)網(wǎng)頁整體大小屬性、滾動(dòng)條的顯示位置以及網(wǎng)頁當(dāng)前瀏覽器顯示視窗的顯示位置,確定滾動(dòng)條的滾動(dòng)距離與網(wǎng)頁的滾動(dòng)距離之間的滾動(dòng)比例;
[0379]獲取所述視頻元素顯示位置的底部到顯示視窗頂部的距離閾值B ;
[0380]根據(jù)所述滾動(dòng)比例和距離閾值B確定滾動(dòng)條需要滾動(dòng)的第一閾值,當(dāng)滾動(dòng)條滾動(dòng)的距離C達(dá)到第一閾值時(shí),則判斷所述視頻元素全部地未被顯示。
[0381]A15、如A13所述的方法,獲取所述視頻元素顯示位置的頂部到顯示視窗頂部的距離閾值A(chǔ)包括:
[0382]在網(wǎng)頁加載完成之后,用戶初次觸發(fā)滾動(dòng)條事件時(shí),計(jì)算所述距離閾值A(chǔ)。
[0383]A16、如A14所述的方法,所述獲取所述視頻元素顯示位置的頂部到顯示視窗頂部的距離閾值B包括:
[0384]在網(wǎng)頁加載完成之后,用戶初次觸發(fā)滾動(dòng)條事件時(shí),計(jì)算所述距離閾值B。
[0385]A17、如權(quán)利要Al、A13、A14其中之一所述的方法,所述將所述視頻元素中的視頻內(nèi)容放入所述窗口中播放之后,還包括:
[0386]根據(jù)用戶觸發(fā)的滾動(dòng)條事件,判斷所述顯示視窗中是否全部顯示所述視頻元素的初始顯示位置;如果是,則關(guān)閉所述窗口,并將視頻元素還原至初始顯示位置進(jìn)行播放。
[0387]A18、如A17所述的方法,根據(jù)用戶觸發(fā)的滾動(dòng)條事件,判斷所述顯示視窗中是否全部顯示所述視頻元素的初始顯示位置,包括:
[0388]當(dāng)視頻元素開始部分顯示后,根據(jù)用戶觸發(fā)的滾動(dòng)條事件,判斷所述滾動(dòng)條距離所述顯示視窗頂部的距離是否小于所述距離閾值A(chǔ) ;如果小于距離閾值A(chǔ),判斷所述顯示視窗開始全部顯示所述視頻元素的初始顯示位置;
[0389]或,當(dāng)視頻元素開始全部地不被顯示后,根據(jù)用戶觸發(fā)的滾動(dòng)條事件,判斷所述滾動(dòng)條距離所述顯示視窗頂部的距離是否小于所述距離閾值B;如果小于距離閾值B,判斷所述顯示視窗開始全部顯示所述視頻元素的初始顯示位置。
[0390]A19、如A17所述的方法,對(duì)于有窗口模式的視頻元素,所述將視頻元素還原至初始顯示位置進(jìn)行播放,包括:
[0391 ] 將視頻元素對(duì)應(yīng)的視頻窗口的父窗口屬性還原為當(dāng)前頁面窗口。
[0392]A20、如A17所述的方法,對(duì)于無窗口模式的視頻元素,所述將視頻元素還原至初始顯示位置進(jìn)行播放,包括:
[0393]停止接管所述視頻內(nèi)容的繪制輸出函數(shù),將對(duì)視頻內(nèi)容的輸出位置還原至視頻窗口的初始顯示位置。
[0394]A21、如Al所述的方法,所述由瀏覽器在當(dāng)前頁面視窗上方創(chuàng)建一窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放包括:
[0395]將所述窗口中對(duì)應(yīng)的視頻元素的控制按鈕隱藏。
[0396]A22、如Al所述的方法,在由瀏覽器在當(dāng)前頁面視窗上方創(chuàng)建一窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放之后,還包括:
[0397]獲取當(dāng)前窗口中播放的視頻內(nèi)容的關(guān)聯(lián)視頻信息;當(dāng)偵聽到鼠標(biāo)懸停至所述窗口上時(shí),在窗口中顯示供所述關(guān)聯(lián)視頻信息并提供點(diǎn)擊接口。
[0398]A23、如Al所述的方法,在由瀏覽器在當(dāng)前頁面視窗上方創(chuàng)建一窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放之后,還包括:
[0399]當(dāng)偵聽到鼠標(biāo)懸停至所述窗口上時(shí),加載并展示針對(duì)當(dāng)前視頻內(nèi)容的功能接口 ;所述功能接口包括下載接口、和/或分享接口、和/或收藏接口、和/或調(diào)用第三方視頻播放軟件播放所述視頻內(nèi)容接口。
[0400]A24、如Al所述的方法,在由瀏覽器在當(dāng)前頁面視窗上方創(chuàng)建一窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放之后,還包括:[0401 ] 當(dāng)偵聽到針對(duì)窗口的尺寸變更操作時(shí),根據(jù)拖拽動(dòng)作修改窗口的顯示尺寸。
[0402]A25、如Al所述的方法,在檢測到所述視頻元素在當(dāng)前瀏覽器顯示視窗中部分顯示和/或全部地未被顯示之前,還包括:
[0403]判斷當(dāng)前網(wǎng)頁中是否存在多個(gè)視頻元素;如果存在,則提示用戶選擇進(jìn)行小窗顯示的播放元素并提供選擇接口 ;對(duì)于用戶未選擇的播放元素,停止判斷所述視頻元素在當(dāng)前瀏覽器顯示視窗中是否部分顯示和/或是否全部地未被顯示。
[0404]A26、如Al所述的方法,在由瀏覽器在當(dāng)前頁面視窗上方創(chuàng)建一窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放之后,還包括:
[0405]當(dāng)偵聽到鼠標(biāo)懸停至所述窗口上時(shí),觸發(fā)對(duì)所述窗口中播放內(nèi)容的暫停操作;當(dāng)鼠標(biāo)移出所述窗口上后,再繼續(xù)播放所述視頻內(nèi)容。
[0406]A27、如Al所述的方法,在由瀏覽器在當(dāng)前頁面視窗上方創(chuàng)建一窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放之后,還包括:
[0407]當(dāng)在所述窗口上偵聽到拖拽動(dòng)作后,將所述窗口的顯示位置的位置隨著拖拽動(dòng)作移動(dòng)。
[0408]本發(fā)明公開了 B28、一種網(wǎng)頁中視頻元素的播放裝置,包括:
[0409]網(wǎng)頁判斷模塊,適于確定出瀏覽器中當(dāng)前加載網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁;
[0410]顯示位置判斷模塊,適于檢測到所述視頻元素在當(dāng)前瀏覽器顯示視窗中部分顯示和/或全部地未被顯示;
[0411]窗口播放模塊,適于由瀏覽器在當(dāng)前頁面視窗上方創(chuàng)建一窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放。
[0412]B29、如B28所述的裝置,所述網(wǎng)頁判斷模塊包括:
[0413]網(wǎng)址判斷模塊,適于針對(duì)當(dāng)前網(wǎng)頁文檔對(duì)應(yīng)的網(wǎng)址,根據(jù)以通配符構(gòu)建的網(wǎng)址匹配規(guī)則和/或預(yù)置的網(wǎng)址名單,對(duì)所述網(wǎng)址進(jìn)行匹配;當(dāng)網(wǎng)址匹配上,則判斷出所述網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁。
[0414]B30、如B29所述的裝置,所述網(wǎng)址判斷模塊包括:
[0415]網(wǎng)頁模板判斷模塊,適于在網(wǎng)址匹配上之后,提取對(duì)應(yīng)所述網(wǎng)址的網(wǎng)頁架構(gòu)模板,并利用所述網(wǎng)頁架構(gòu)模板對(duì)所述網(wǎng)頁文檔進(jìn)行匹配;當(dāng)所述網(wǎng)頁文檔與上述網(wǎng)頁架構(gòu)模板匹配上,則判斷出所述網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁。
[0416]B31、如B28所述的裝置,還包括:
[0417]切換模塊,適于當(dāng)檢測用戶切換到另外的標(biāo)簽頁之后;所述標(biāo)簽頁中加載網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁;
[0418]窗口共享模塊,適于若檢測到所述視頻元素在當(dāng)前瀏覽器顯示視窗中部分顯示和/或全部地未被顯示;則直接挪用所述窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放。
[0419]B32、如B28所述的裝置,所述窗口共享模塊包括:包括:
[0420]窗口父子變更模塊,適于在所述直接挪用所述窗口時(shí),將所述窗口的父窗口設(shè)為切換后的標(biāo)簽頁窗口。
[0421]B33、如B28或B31所述的裝置,所述顯示位置判斷模塊之后,還包括:
[0422]窗口模式判斷模塊,適于判斷所述視頻元素對(duì)應(yīng)的視頻窗口為有窗口模式還是無窗口模式
[0423]B34、如B33所述的裝置,所述窗口播放模塊包括:
[0424]有窗模式播放模塊,適于對(duì)于有窗口模式的視頻元素,將所述視頻元素對(duì)應(yīng)的視頻窗口的父窗口修改為所述窗口,使所述視頻窗口嵌入所述窗口中進(jìn)行播放。
[0425]B35、如B33所述的裝置,所述窗口播放模塊包括:
[0426]無窗模式播放模塊,適于對(duì)于無窗口模式的視頻元素,接管視頻內(nèi)容的繪制輸出函數(shù),將對(duì)視頻內(nèi)容的輸出位置更改為所述在所述窗口中輸出。
[0427]B36、如B35所述的裝置,所述繪制輸出函數(shù)包括:
[0428]InvalidateRect 函數(shù),invalidatereg1n 函數(shù),forceredraw 函數(shù)其中一個(gè)或者多個(gè)。
[0429]B37、如B33所述的裝置,所述窗口模式判斷模塊包括:
[0430]第一窗口模式判斷模塊,適于通過網(wǎng)頁文檔中的<param>標(biāo)簽判斷所述視頻窗口為有窗口模式還是無窗口模式。
[0431]B38、如B28所述的裝置,所述顯示位置判斷模塊包括:
[0432]第一顯示位置判斷模塊,適于根據(jù)視頻元素的顯示位置、顯示視窗的顯示位置、滾動(dòng)條的顯示位置、頁面整體的大小屬性,判斷所述視頻元素在當(dāng)前瀏覽器顯示視窗中部分顯示和/或全部地未被顯示。
[0433]B39、如B38所述的裝置,所述第一顯示位置判斷模塊包括:
[0434]第一滾動(dòng)比例計(jì)算模塊,適于根據(jù)網(wǎng)頁整體大小、滾動(dòng)條的顯示位置以及網(wǎng)頁當(dāng)前瀏覽器顯示視窗的顯示位置,確定滾動(dòng)條的滾動(dòng)距離與網(wǎng)頁的滾動(dòng)距離之間的滾動(dòng)比例;
[0435]第一滾動(dòng)距離獲取模塊,適于獲取所述視頻元素顯示位置中,在視頻元素高度范圍內(nèi)的高度值到顯示視窗頂部的距離閾值L ;
[0436]第一滾動(dòng)閾值確定模塊,適于根據(jù)所述滾動(dòng)比例和距離閾值L確定滾動(dòng)條需要滾動(dòng)的第一閾值;
[0437]第一元素判斷模塊,適于當(dāng)滾動(dòng)條滾動(dòng)的距離C達(dá)到第一閾值時(shí),則判斷所述視頻元素部分顯示或者全部地未被顯示。
[0438]B40、如B38所述的裝置,所述第一顯示位置判斷模塊包括:
[0439]第二滾動(dòng)比例計(jì)算模塊,適于根據(jù)網(wǎng)頁整體大小、滾動(dòng)條的顯示位置以及網(wǎng)頁當(dāng)前瀏覽器顯示視窗的顯示位置,確定滾動(dòng)條的滾動(dòng)距離與網(wǎng)頁的滾動(dòng)距離之間的滾動(dòng)比例;
[0440]第二滾動(dòng)距離獲取模塊,適于獲取所述視頻元素顯示位置的頂部到顯示視窗頂部的距離閾值A(chǔ) ;
[0441]第二滾動(dòng)閾值確定模塊,適于根據(jù)所述滾動(dòng)比例和距離閾值A(chǔ)確定滾動(dòng)條需要滾動(dòng)的第二閾值;
[0442]部分顯示判斷模塊,適于當(dāng)滾動(dòng)條滾動(dòng)的距離C達(dá)到第二閾值時(shí),則判斷所述視頻元素部分顯示。
[0443]B41、如B38所述的裝置,所述顯示位置判斷模塊包括:
[0444]第三滾動(dòng)距離獲取模塊,適于根據(jù)網(wǎng)頁整體大小屬性、滾動(dòng)條的顯示位置以及網(wǎng)頁當(dāng)前瀏覽器顯示視窗的顯示位置,確定滾動(dòng)條的滾動(dòng)距離與網(wǎng)頁的滾動(dòng)距離之間的滾動(dòng)比例;
[0445]第三滾動(dòng)距離獲取模塊,適于獲取所述視頻元素顯示位置的底部到顯示視窗頂部的距離閾值B;
[0446]第三滾動(dòng)閾值確定模塊,適于根據(jù)所述滾動(dòng)比例和距離閾值B確定滾動(dòng)條需要滾動(dòng)的第三閾值;
[0447]全部未顯示判斷模塊,適于當(dāng)滾動(dòng)條滾動(dòng)的距離C達(dá)到第三閾值時(shí),則判斷所述視頻元素全部地未被顯示。
[0448]B42、如B40所述的裝置,所述第一滾動(dòng)距離獲取模塊包括:
[0449]第一觸發(fā)計(jì)算模塊,適于在網(wǎng)頁加載完成之后,用戶初次觸發(fā)滾動(dòng)條事件時(shí),計(jì)算所述距離閾值A(chǔ)。
[0450]B43、如B41所述的裝置,所述第二滾動(dòng)距離獲取模塊包括:
[0451]第二觸發(fā)計(jì)算模塊,適于在網(wǎng)頁加載完成之后,用戶初次觸發(fā)滾動(dòng)條事件時(shí),計(jì)算所述距離閾值B。
[0452]B44、如B28、B40或B41其中之一所述的裝置,所述窗口播放模塊之后,還包括:
[0453]還原判斷模塊,適于根據(jù)用戶觸發(fā)的滾動(dòng)條事件,判斷所述顯示視窗中是否全部顯示所述視頻元素的初始顯示位置;適于如果是,則關(guān)閉所述窗口,并將視頻元素還原至初始顯示位置進(jìn)行播放。
[0454]B45、如B44所述的方法,所述還原判斷模塊包括:
[0455]第一還原判斷模塊,適于當(dāng)視頻元素開始部分顯示后,根據(jù)用戶觸發(fā)的滾動(dòng)條事件,判斷所述滾動(dòng)條距離所述顯示視窗頂部的距離是否小于所述距離閾值A(chǔ) ;如果小于距離閾值A(chǔ),判斷所述顯示視窗開始全部顯示所述視頻元素的初始顯示位置;
[0456]或,第二還原判斷模塊,適于當(dāng)視頻元素開始全部地不被顯示后,根據(jù)用戶觸發(fā)的滾動(dòng)條事件,判斷所述滾動(dòng)條距離所述顯示視窗頂部的距離是否小于所述距離閾值B;如果小于距離閾值B,判斷所述顯示視窗開始全部顯示所述視頻元素的初始顯示位置。
[0457]B46、如B45所述的裝置,所述還原判斷模塊包括:
[0458]第一還原模塊,適于對(duì)于有窗口模式的視頻元素,將視頻元素對(duì)應(yīng)的視頻窗口的父窗口屬性還原為當(dāng)前頁面窗口。
[0459]B47、如B45所述的裝置,所述還原判斷模塊包括:
[0460]第二還原模塊,適于停止接管所述視頻內(nèi)容的繪制輸出函數(shù),將對(duì)視頻內(nèi)容的輸出位置還原至視頻窗口的初始顯示位置。
[0461]B48、如B28所述的裝置,所述窗口播放模塊包括:
[0462]按鈕隱藏模塊,適于將所述窗口中對(duì)應(yīng)的視頻元素的控制按鈕隱藏。
[0463]B49、如B28所述的裝置,在窗口播放模塊之后,還包括:
[0464]關(guān)聯(lián)視頻接口提模塊,適于獲取當(dāng)前窗口中播放的視頻內(nèi)容的關(guān)聯(lián)視頻信息;當(dāng)偵聽到鼠標(biāo)懸停至所述窗口上時(shí),在窗口中顯示供所述關(guān)聯(lián)視頻信息并提供點(diǎn)擊接口。
[0465]B50、如B28所述的裝置,在窗口播放模塊之后,還包括:
[0466]功能結(jié)構(gòu)提供模塊,適于當(dāng)偵聽到鼠標(biāo)懸停至所述窗口上時(shí),加載并展示針對(duì)當(dāng)前視頻內(nèi)容的功能接口 ;所述功能接口包括下載接口、和/或分享接口、和/或收藏接口、和/或調(diào)用第三方視頻播放軟件播放所述視頻內(nèi)容接口。
[0467]B51、如B28所述的裝置,在窗口播放模塊之后,還包括:
[0468]尺寸改變模塊,適于當(dāng)偵聽到針對(duì)窗口的尺寸變更操作時(shí),根據(jù)拖拽動(dòng)作修改窗口的顯示尺寸。
[0469]B52、如B28所述的裝置,在顯示位置判斷模塊之前,還包括:
[0470]選擇提示模塊,適于判斷當(dāng)前網(wǎng)頁中是否存在多個(gè)視頻元素;如果存在,則提示用戶選擇進(jìn)行小窗顯示的播放元素并提供選擇接口 ;對(duì)于用戶未選擇的播放元素,停止判斷所述視頻元素在當(dāng)前瀏覽器顯示視窗中是否部分顯示和/或是否全部地未被顯示。
[0471]B53、如B28所述的裝置,在窗口播放模塊之后,還包括:
[0472]暫停模塊,適于當(dāng)偵聽到鼠標(biāo)懸停至所述視頻元素顯示位置時(shí),觸發(fā)對(duì)所述窗口中播放內(nèi)容的暫停操作;當(dāng)鼠標(biāo)移出所述視頻元素顯示位置后,再繼續(xù)播放所述視頻內(nèi)容。
[0473]B54、如B28所述的裝置,在窗口播放模塊之后,還包括:
[0474]位置移動(dòng)模塊,適于當(dāng)在所述窗口上偵聽到拖拽動(dòng)作后,將所述窗口的顯示位置的位置隨著拖拽動(dòng)作移動(dòng)。
【權(quán)利要求】
1.一種網(wǎng)頁中視頻元素的播放方法,包括: 確定出瀏覽器中當(dāng)前加載網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁; 檢測到所述視頻元素在當(dāng)前瀏覽器顯示視窗中部分顯示和/或全部地未被顯示; 由瀏覽器在當(dāng)前頁面視窗上方創(chuàng)建一窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放。
2.如權(quán)利要求1所述的方法,其特征在于,所述判斷出所述網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁包括: 針對(duì)當(dāng)前網(wǎng)頁文檔對(duì)應(yīng)的網(wǎng)址,根據(jù)以通配符構(gòu)建的網(wǎng)址匹配規(guī)則和/或預(yù)置的網(wǎng)址名單,對(duì)所述網(wǎng)址進(jìn)行匹配;當(dāng)網(wǎng)址匹配上,則判斷出所述網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁。
3.如權(quán)利要求2所述的方法,其特征在于,在網(wǎng)址匹配上之后,包括: 提取對(duì)應(yīng)所述網(wǎng)址的網(wǎng)頁架構(gòu)模板,并利用所述網(wǎng)頁架構(gòu)模板對(duì)所述網(wǎng)頁文檔進(jìn)行匹配;當(dāng)所述網(wǎng)頁文檔與上述網(wǎng)頁架構(gòu)模板匹配上,則判斷出所述網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁。
4.如權(quán)利要求1所述的方法,其特征在于,還包括: 當(dāng)檢測用戶切換到另外的標(biāo)簽頁之后;所述標(biāo)簽頁中加載網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁; 若檢測到所述視頻元素在當(dāng)前瀏覽器顯示視窗中部分顯示和/或全部地未被顯示;則直接挪用所述窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放。
5.如權(quán)利要求1所述的方法,其特征在于,所述直接挪用所述窗口包括: 將所述窗口的父窗口設(shè)為切換后的標(biāo)簽頁窗口。
6.如權(quán)利要求1或4所述的方法,其特征在于,在檢測到所述視頻元素部分顯示和/或全部地未被顯示之后還包括: 判斷所述視頻元素對(duì)應(yīng)的視頻窗口為有窗口模式還是無窗口模式。
7.如權(quán)利要求6所述的方法,其特征在于,所述將所述視頻元素中的視頻內(nèi)容放入所述窗口中播放包括: 對(duì)于有窗口模式的視頻元素,將所述視頻元素對(duì)應(yīng)的視頻窗口的父窗口修改為所述窗口,使所述視頻窗口嵌入所述窗口中進(jìn)行播放。
8.如權(quán)利要求6所述的方法,其特征在于,所述將所述視頻元素中的視頻內(nèi)容放入所述窗口中播放包括: 對(duì)于無窗口模式的視頻元素,接管視頻內(nèi)容的繪制輸出函數(shù),將對(duì)視頻內(nèi)容的輸出位置更改為所述在所述窗口中輸出。
9.如權(quán)利要求8所述的方法,其特征在于,所述繪制輸出函數(shù)包括: InvalidateRect 函數(shù),invalidatereg1n 函數(shù),forceredraw 函數(shù)其中一個(gè)或者多個(gè)。
10.一種網(wǎng)頁中視頻元素的播放裝置,包括: 網(wǎng)頁判斷模塊,適于確定出瀏覽器中當(dāng)前加載網(wǎng)頁文檔為帶有可播放的視頻元素的特定網(wǎng)頁; 顯示位置判斷模塊,適于檢測到所述視頻元素在當(dāng)前瀏覽器顯示視窗中部分顯示和/或全部地未被顯示; 窗口播放模塊,適于由瀏覽器在當(dāng)前頁面視窗上方創(chuàng)建一窗口,將所述視頻元素設(shè)置在所述窗口中進(jìn)行加載播放。
【文檔編號(hào)】G06F17/30GK104268251SQ201410523186
【公開日】2015年1月7日 申請(qǐng)日期:2014年9月30日 優(yōu)先權(quán)日:2014年9月30日
【發(fā)明者】高慶光 申請(qǐng)人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司