已修改密碼,請重新登入
關閉
說明提示
  • 複製連結
  • 更多功能
基於嵌入式視窗的網頁加載方法及其裝置
METHOD AND DEVICE FOR LOADING WEB PAGE BASED ON IFRAMETB001527539
 1 / 1 
書目
公告號 I692232 公開202025686
公告日 2020/04/21
公報卷期 47-12
證書號 I692232
申請號 107145503 E
申請日 2018/12/17
公報IPC H04L 29/06(2006.01); H04L 29/08(2006.01)
當前IPC H04L 29/06(2006.01); H04L 29/08(2006.01)
申請人 宏碁股份有限公司 新北市汐止區新台五路一段88號8樓 (中華民國);
ACER INCORPORATED 8F, 88, HSIN TAI WU RD., SEC. 1 HSICHIH, NEW TAIPEI CITY 221, TAIWAN, R.O.C. (TW)
當前專利權人 宏碁股份有限公司; ACER INCORPORATED
發明人 林耕葆 (中華民國); LIN, GENG-BAO (TW)
代理人 祁明輝; 林素華; 涂綺玲
當前代理人 祁明輝; 林素華; 涂綺玲
審查委員 周官緯
摘要 一種基於嵌入式視窗的網頁加載方法,包括下列步驟。取得包含一HTTP內容的一HTTPS網頁的一混合內容。當欲加載HTTP內容至一嵌入式視窗物件中時,偵測混合內容是否被一瀏覽器阻擋。當混合內容未被阻擋時,將HTTP內容加載於嵌入式視窗物件中,並以一應用程式介面交換HTTPS網頁及嵌入式視窗物件中的訊息。當混合內容被阻擋時,將HTTP內容加載於一新視窗物件中,並以應用程式介面交換HTTPS網頁及新視窗物件中的訊息。
參考文獻
引用專利 US2012/0246017A1 E
引用非專利 georgephillips, “How to allow http content within an iframe on a https site”, stackoverflow, https://stackoverflow.com/questions/18327314/how-to-allow-http-content-within-an-iframe-on-a-https-site/25189561#25189561, 2017/01/05. apachenick, “HTTPS iframe shows as HTTP (mixed content)”, stackoverflow, https://stackoverflow.com/questions/32458509/https-iframe-shows-as-http-mixed-content?rq=1&rq=1, 2015/09/08.
專利範圍   0:936 原始格式
專利範圍 1.一種基於嵌入式視窗的網頁加載方法,包括: 取得包含一HTTP內容的一HTTPS網頁的一混合內容; 當欲加載該HTTP內容至一嵌入式視窗物件中時,偵測該混合內容是否被一瀏覽器阻擋; 當該混合內容未被阻擋時,將該HTTP內容加載於該嵌入式視窗物件中,並以一應用程式介面交換該HTTPS網頁及該嵌入式視窗物件中的訊息;以及 當該混合內容被阻擋時,將該HTTP內容加載於一新視窗物件中,並以該應用程式介面交換該HTTPS網頁及該新視窗物件中的訊息。

2.如申請專利範圍第1項所述之方法,其中偵測該混合內容是否被一瀏覽器阻擋之步驟包括: 以一嵌入式元素加載該HTTP內容; 判斷該瀏覽器是否發生一加載成功事件; 當加載已超時而未發生該加載成功事件,標記該瀏覽器為阻擋該混合內容的狀態;以及 當加載未超時而發生該加載成功事件,標記該瀏覽器為允許該混合內容的狀態。

3.如申請專利範圍第1項所述之方法,其中偵測該混合內容是否被一瀏覽器阻擋之步驟包括: 向一HTTP網址發起一請求; 判斷該請求被該瀏覽器阻擋而產生一請求錯誤事件,標記該瀏覽器為阻擋該混合內容的狀態;以及 判斷該請求未被該瀏覽器阻擋,標記該瀏覽器為允許該混合內容的狀態。

4.如申請專利範圍第1項所述之方法,其中偵測該混合內容是否被一瀏覽器阻擋之步驟包括直接向該瀏覽器內的一阻擋檢測模組取得狀態資料。

5.如申請專利範圍第1項所述之方法,其中該應用程式介面透過一業務通訊模組來交換該HTTPS網頁及該嵌入式視窗物件中的訊息。

6.如申請專利範圍第1項所述之方法,其中該應用程式介面透過一業務通訊模組來交換該HTTPS網頁及該新視窗物件中的訊息。

7.一種基於嵌入式視窗的網頁加載裝置,包括: 一混合內容阻擋檢測模組,用以取得包含一HTTP內容的一HTTPS網頁的一混合內容,並偵測該混合內容是否被一瀏覽器阻擋; 一瀏覽器視窗物件,包含一嵌入式視窗物件以及一新視窗物件; 一HTTP內容加載模組,用以根據該混合內容是否被該瀏覽器阻擋而將該HTTP內容加載於該嵌入式視窗物件中或該新視窗物件中;以及 一應用程式介面,用以交換該HTTPS網頁及該嵌入式視窗物件或該新視窗物件中的訊息。

8.如申請專利範圍第7項所述之裝置,其中該混合內容阻擋檢測模組包括: 一加載完成事件傾聽器,用以傾聽以一嵌入式元素加載該HTTP內容時是否觸發一加載完成事件;以及 一加載超時監測單元,判斷加載已超時而未發生該加載成功事件,標記該瀏覽器為阻擋該混合內容的狀態,或判斷加載未超時而發生該加載成功事件,標記該瀏覽器為允許該混合內容的狀態。

9.如申請專利範圍第7項所述之裝置,其中該混合內容阻擋檢測模組包括: 一網路請求模組,向一HTTP網址發起一請求; 一請求錯誤事件傾聽器,;以及 一錯誤類型判斷單元,判斷該請求被該瀏覽器阻擋而產生一請求錯誤事件,標記該瀏覽器為阻擋該混合內容的狀態,或判斷該請求未被該瀏覽器阻擋,標記該瀏覽器為允許該混合內容的狀態。

10.如申請專利範圍第7項所述之裝置,其中該混合內容阻擋檢測模組直接設置在該瀏覽器內。

11.如申請專利範圍第7項所述之裝置,其中該應用程式介面透過一業務通訊模組來交換該HTTPS網頁及該嵌入式視窗物件中的訊息。

12.如申請專利範圍第7項所述之裝置,其中該應用程式介面透過一業務通訊模組來交換該HTTPS網頁及該新視窗物件中的訊息。
詳細說明
詳細說明 【技術領域】

本發明是有關於一種網頁加載方法,且特別是有關於一種基於嵌入式視窗的網頁加載方法及其裝置。

【先前技術】

隨著網際網路技術的不斷發展,越來越多人從網頁獲取資訊和服務,例如瀏覽新聞、看電影、網購等。上述的資訊和服務往往是通過網頁的形式呈現給使用者,當使用者瀏覽一個網頁時,經常需要加載其他網頁(例如是嵌入式視窗)來向使用者展示推薦資訊或即時提示資訊。然而,當嵌入式視窗的網頁內容不符合瀏覽器的傳輸安全協定時,網頁內容將被瀏覽器阻擋,因而使用者無法順利取得相關的網頁內容和服務,影響使用者的體驗。

【發明內容】

本發明係有關於一種基於嵌入式視窗的網頁加載方法及其裝置,可維持HTTP的內容在HTTPS網頁視窗中的展示與訊息交換,以避免影響使用者的體驗。

根據本發明之一方面,提出一種基於嵌入式視窗的網頁加載方法,包括下列步驟。取得包含一HTTP內容的一HTTPS網頁的一混合內容。當欲加載HTTP內容至一嵌入式視窗物件中時,偵測混合內容是否被一瀏覽器阻擋。當混合內容未被阻擋時,將HTTP內容加載於嵌入式視窗物件中,並以一應用程式介面交換HTTPS網頁及嵌入式視窗物件中的訊息。當混合內容被阻擋時,將HTTP內容加載於一新視窗物件中,並以應用程式介面交換HTTPS網頁及新視窗物件中的訊息。

根據本發明之一方面,提出一種基於嵌入式視窗的網頁加載裝置,包括一混合內容阻擋檢測模組、一瀏覽器視窗物件、一HTTP內容加載模組以及一應用程式介面。混合內容阻擋檢測模組用以取得包含一HTTP內容的一HTTPS網頁的一混合內容,並偵測HTTP內容是否被一瀏覽器阻擋。瀏覽器視窗物件包含一嵌入式視窗物件以及一新視窗物件。HTTP內容加載模組用以根據HTTP內容是否被瀏覽器阻擋而將HTTP內容加載於嵌入式視窗物件中或新視窗物件中。應用程式介面用以交換HTTPS網頁及嵌入式視窗物件或新視窗物件中的訊息。

為了對本發明之上述及其他方面有更佳的瞭解,下文特舉實施例,並配合所附圖式詳細說明如下:

【實施方式】

以下係提出實施例進行詳細說明,實施例僅用以作為範例說明,並非用以限縮本發明欲保護之範圍。以下是以相同/類似的符號表示相同/類似的元件做說明。以下實施例中所提到的方向用語,例如:上、下、左、右、前或後等,僅是參考所附圖式的方向。因此,使用的方向用語是用來說明並非用來限制本發明。

依照本發明之一實施例,提出一種基於嵌入式視窗(iFrame)的網頁加載方法。嵌入式視窗為創建另外一個網頁的內聯框架,當需要在一網頁視窗中嵌入外部網頁內容時,可在執行網頁視窗的代碼中插入一指令碼,以連接外部網頁的URL位址。

一般而言,一個含有HTTP內容的HTTPS網頁可稱為混合內容。HTTP內容根據安全性層級可分為被動型混合內容(Passive Mixed content)以及主動型混合內容(Active Mixed content)。對於被動型混合內容,瀏覽器一般預設為只顯示警示訊息,但HTTP內容仍可在HTTPS網頁上加載並展示;而對於主動型混合內容,瀏覽器一般預設為HTTP內容無法直接在HTTPS網頁上加載並展示,尤其是嵌入式視窗內的HTTP內容。因此,當加載的外部視窗的網頁是HTTP內容時,瀏覽器會禁止載入HTTP內容,因而無法在目前的HTTPS網頁視窗中創建另外一個HTTP網頁。

由於超文本傳輸安全協定(HyperText Transfer Protocol Secure,HTTPS)相較於HTTP有較高的安全性,為了提高資訊交換的安全性,目前的瀏覽器大多要求HTTPS網頁視窗上除了特定類型的內容外,禁止載入HTTP內容,因此基於嵌入式視窗的網頁加載內容將受到影響。

據此,本發明提出一種基於嵌入式視窗的網頁加載方法,可維持HTTP的內容在HTTPS網頁視窗中的展示與訊息交換,以避免影響使用者的體驗。

請參照第1及2圖,依照本發明一實施例,基於嵌入式視窗的網頁加載方法包括下列步驟S11-S14。在步驟S11中,取得包含一HTTP內容的一HTTPS網頁的一混合內容。在步驟S12中,當欲加載一HTTP內容至一嵌入式視窗物件132中時,偵測HTTP內容是否被一瀏覽器阻擋。在步驟S13中,當混合內容未被阻擋時,將HTTP內容加載於嵌入式視窗物件132中,並以一應用程式介面140交換HTTPS網頁及嵌入式視窗物件132中的訊息。在步驟S14中,當混合內容被阻擋時,將HTTP內容加載於一新視窗物件134中,並以應用程式介面140交換HTTPS網頁及新視窗物件134中的訊息。

請參照第1及2圖,依照本發明一實施例,基於嵌入式視窗的網頁加載裝置100包括一混合內容阻擋檢測模組110、一HTTP內容加載模組120、一瀏覽器視窗物件130以及一應用程式介面140。混合內容阻擋檢測模組110用以取得包含一HTTP內容的一HTTPS網頁的一混合內容,並偵測混合內容是否被一瀏覽器阻擋。瀏覽器視窗物件130包含一嵌入式視窗物件132以及一新視窗物件134。HTTP內容加載模組120用以根據混合內容是否被瀏覽器阻擋而將HTTP內容加載於嵌入式視窗物件132中或新視窗物件134中。應用程式介面140用以交換HTTPS網頁及嵌入式視窗物件132或新視窗物件134中的訊息。

在步驟S11及12中,混合內容阻擋檢測模組110用以取得並判斷含有HTTP內容的HTTPS網頁(以下稱混合內容)是否被一瀏覽器阻擋,檢測方式如第5及6圖或第7及8圖所示,稍後再詳細說明。

在步驟S13中,當混合內容未被瀏覽器阻擋時,HTTP內容加載模組120將HTTP內容加載於嵌入式視窗物件132中。

請參照第3圖,HTTP內容可加載於嵌入式視窗物件132中,且嵌入式視窗物件132展示於HTTPS網頁視窗131中。此外,應用程式介面140可透過業務通訊模組來交換HTTPS網頁及嵌入式視窗物件132中的訊息。因此,使用者可從嵌入式視窗物件132中順利取得HTTP內容和相關的服務。

此外,在步驟S14中,當混合內容被瀏覽器阻擋時,HTTP內容加載模組120無法將HTTP內容加載於嵌入式視窗物件132中。此時,HTTP內容加載模組120將HTTP內容加載於一新視窗物件134中。在本實施例中,新視窗物件134例如是以Window.open所開啟的彈出視窗或是新分頁,其程式碼舉例如下: <script LANGUAGE=”javascript”>window.open (‘page.html’, ‘newwindow’, ‘height=100, width=400, top=0, left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no’) //…</script>

請參照第4圖,HTTP內容可加載於一新視窗物件134中,且新視窗物件134與HTTPS網頁視窗131物件為不同的兩個視窗物件。此外,應用程式介面140可透過業務通訊模組來交換HTTPS網頁及新視窗物件134中的訊息。因此,使用者可從新視窗物件134中順利取得HTTP內容和相關的服務。

在本實施例中,業務通訊模組與嵌入式視窗物件132或新視窗物件134進行訊息交換,可採用W3C規範的Window.postMessage來完成。Window.postMessage是一個可用於在一視窗內容與另一視窗內容通訊的應用程式介面140,以完成HTTPS網頁與HTTP內容之間的溝通,其程式碼舉例如下: //彈出一個新視窗 var domain = 'http://scriptandstyle.com'; var myPopup = window.open(domain + '/windowPostMessageListener.html', 'myWindow'); //週期性的發送訊消息 setInterval(function(){ var message = 'Hello! The time is: ' + (new Date().getTime()); console.log('blog.local: sending message: ' + message); //send the message and target URI myPopup.postMessage(message,domain); },6000);

請參照第5及6圖,其中第5圖繪示判斷混合內容是否被一瀏覽器阻擋的混合內容阻擋檢測模組110的示意圖,第6圖繪示第5圖中判斷混合內容是否被一瀏覽器阻擋的流程示意圖。

請參照第5圖,混合內容阻擋檢測模組110包括一加載完成事件傾聽器112以及一加載超時監測單元114。加載完成事件傾聽器112用以傾聽是否觸發一加載完成事件。例如,當視窗的網頁為HTTP網頁時,以嵌入式元素133(例如<iFrame>元素)加載的網頁可正常觸發一加載完成事件。然而,當視窗的網頁為HTTPS網頁時,以嵌入式元素133加載的網頁會被瀏覽器阻擋,因此不會觸發一加載成功事件。因此,以嵌入式元素133加載HTTP內容時,加載超時監測單元114可根據是否觸發一加載成功事件來判斷瀏覽器目前的狀態。上述以嵌入式元素133加載的HTTP內容可為預期要加載的HTTP內容或是特別用於檢測的一網址內的HTTP內容。

請一併參照第5及6圖,判斷流程包括S21-S24。首先,在步驟S21中,以嵌入式元素133加載一個HTTP內容時,因為HTTP內容加載在HTTPS網站上會被瀏覽器阻擋,因而無法產生一加載成功事件。因此,在步驟S23中,如果加載超時監測單元114判斷加載已超時而未發生加載成功事件,則標記瀏覽器為阻擋混合內容的狀態。反之,HTTP內容加載在HTTP網站上不會被瀏覽器阻擋,因此在步驟S24中,如果加載超時監測單元114判斷加載未超時而發生加載成功事件,則標記瀏覽器為允許混合內容的狀態。

接著,請參照第7及8圖,其中第7圖繪示另一實施例中判斷混合內容是否被一瀏覽器阻擋的混合內容阻擋檢測模組110的示意圖,第8圖繪示第7圖中判斷混合內容是否被一瀏覽器阻擋的流程示意圖。

請參照第7圖,混合內容阻擋檢測模組110包括一網路請求模組113、一請求錯誤事件傾聽器115以及一錯誤類型判讀單元117。網路請求模組113用以向一HTTP網址發起一請求。請求錯誤事件傾聽器115用以傾聽是否有一請求錯誤事件。例如,當瀏覽器未設置阻擋機制時,網路請求模組113可成功向HTTP網址發起一請求。然而,當瀏覽器設置阻擋機制時,向HTTP網址發起的請求會被瀏覽器阻擋而產生一請求錯誤事件。因此,錯誤類型判讀單元117可根據是否產生一請求錯誤事件來判斷瀏覽器目前的狀態。在一實施例中,HTTP網址可為預期要加載的HTTP內容的網址,或是特別用於檢測的一HTTP網址。

請一併參照第7及8圖,判斷流程包括S31-S34。首先,在步驟S31中,網路請求模組113向一HTTP網址發起一請求。在步驟S32中,如果錯誤類型判讀單元117判斷請求被瀏覽器阻擋而產生請求錯誤事件,則在步驟S33中標記瀏覽器為阻擋混合內容的狀態。反之,在步驟S32中,當向HTTP網站的請求未被瀏覽器阻擋時,則在步驟S34中標記瀏覽器為允許混合內容的狀態。

另外,在另一實施例中,當瀏覽器內設有一混合內容阻擋檢測模組110時,可直接向混合內容阻擋檢測模組110擷取狀態資料,以判斷瀏覽器處於阻擋混合內容的狀態或允許混合內容的狀態。此外,當瀏覽器的阻擋機制可允許使用者自行關閉時,本發明之加載方法仍可維持HTTP的內容在HTTPS網頁視窗131中的展示與訊息交換,以避免影響使用者的體驗。若瀏覽器的阻擋機制不允許使用者自行關閉時,才以新視窗的方式加載HTTP內容。此外,新視窗可以設定為加載業務完成後就關閉,如此可以不影響使用者對主網頁視窗的操作。

綜上所述,雖然本發明已以實施例揭露如上,然其並非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾。因此,本發明之保護範圍當視後附之申請專利範圍所界定者為準。

【圖式簡單說明】

第1圖繪示依照本發明一實施例的基於嵌入式視窗的網頁加載方法的示意圖。 第2圖繪示依照本發明一實施例的基於嵌入式視窗的網頁加載裝置的示意圖。 第3圖繪示嵌入式視窗物件展示於HTTPS網頁視窗中的示意圖。 第4圖繪示HTTP內容加載於一新視窗物件中的示意圖。 第5圖繪示判斷混合內容是否被一瀏覽器阻擋的混合內容阻擋檢測模組的示意圖。 第6圖繪示第5圖中判斷混合內容是否被一瀏覽器阻擋的流程示意圖。 第7圖繪示另一實施例中判斷混合內容是否被一瀏覽器阻擋的混合內容阻擋檢測模組的示意圖。 第8圖繪示第7圖中判斷混合內容是否被一瀏覽器阻擋的流程示意圖。
符號說明
符號說明 100:基於嵌入式視窗的網頁加載裝置 110:混合內容阻擋檢測模組 112:加載完成事件傾聽器 113:網路請求模組 114:加載超時監測單元 115:請求錯誤事件傾聽器 117:錯誤類型判讀單元 120:HTTP內容加載模組 130:瀏覽器視窗物件 131:HTTPS網頁視窗 132:嵌入式視窗物件 134:新視窗物件 140:應用程式介面 S11-S14、S21-S24、S31-S34:步驟