很多瀏覽器都有這個功能,當你把滑鼠移動到網頁影片上,就可以看到頂部有一個按鈕出現,彈出獨立播放器。當你點選按鈕,影片就彈出在新視窗播放了,這時候影片視窗的大小可以自由調整不再受頁面的限制。另一個想法是,把頁面裡影片相關的HTML程式碼提取出來,然後在一個新頁面框架裡顯示。但是這樣的話,就必須對頁面程式碼的結構非常熟悉,而且必須跟隨變化。還有,當新影片視窗彈出時,播放進度是不能保持的,必須重頭播放。其實有一個簡單的辦法,那就是把頁面裡的Flash控制元件重新啟用到另一個視窗上。因為我們知道,Flash其實是一個ActiveX控制元件,執行在IE容器裡。如果我們建立一個新的Ole Container,就可以把Flash控制元件啟用到新的Container裡。這樣,Flash控制元件就可以在保持狀態的情況下在不同的容器之間轉換,既自由的在頁面和彈出視窗中切換。所以,要彈出(IE)頁面裡的Flash影片,需要以下幾步:
1. 02透過Web Browser控制元件或者BHO,在頁面載入完成後得到頁面的DOM模型,找到Embed節點物件,即可查到Flash空間。
2. 02建立Ole容器,比如ATL的CAxWindow3. 02啟用Flash控制元件到新的Ole容器程式碼片段(基於ATL)://pFlashDisp為Flash控制元件物件,透過分析頁面DOM獲得//儲存IE容器,用於恢復CComQIPtr
很多瀏覽器都有這個功能,當你把滑鼠移動到網頁影片上,就可以看到頂部有一個按鈕出現,彈出獨立播放器。當你點選按鈕,影片就彈出在新視窗播放了,這時候影片視窗的大小可以自由調整不再受頁面的限制。另一個想法是,把頁面裡影片相關的HTML程式碼提取出來,然後在一個新頁面框架裡顯示。但是這樣的話,就必須對頁面程式碼的結構非常熟悉,而且必須跟隨變化。還有,當新影片視窗彈出時,播放進度是不能保持的,必須重頭播放。其實有一個簡單的辦法,那就是把頁面裡的Flash控制元件重新啟用到另一個視窗上。因為我們知道,Flash其實是一個ActiveX控制元件,執行在IE容器裡。如果我們建立一個新的Ole Container,就可以把Flash控制元件啟用到新的Container裡。這樣,Flash控制元件就可以在保持狀態的情況下在不同的容器之間轉換,既自由的在頁面和彈出視窗中切換。所以,要彈出(IE)頁面裡的Flash影片,需要以下幾步:
1. 02透過Web Browser控制元件或者BHO,在頁面載入完成後得到頁面的DOM模型,找到Embed節點物件,即可查到Flash空間。
2. 02建立Ole容器,比如ATL的CAxWindow3. 02啟用Flash控制元件到新的Ole容器程式碼片段(基於ATL)://pFlashDisp為Flash控制元件物件,透過分析頁面DOM獲得//儲存IE容器,用於恢復CComQIPtr