2013-05-08 214 views
0

我正在開發一個項目,我打算在同一個網站中打開多個網頁,但不使用。我曾嘗試過使用<iframes>,但通常最終會導致瀏覽器UI鎖定網頁,所以我一直在尋找替代品。谷歌瀏覽器擴展和NPAPI/FireBreath嵌入網頁

我開發了一個小的谷歌Chrome擴展,而不是打開網頁,我打開chrome.windows在我想要的位置,它工作正常,但我不想要任何像他們身邊的用戶界面像標題欄和按鈕一種「全屏」的尺寸我定義。

chrome.windows.create({ url: app.src, left: wleft, top: wtop, width: wwidth, height: wheight, focused: false, type: "popup" }, function(tab) { 
    self.windowid = tab.id; 
    console.log('Window ID is: ' + self.windowid); 
    //chrome.windows.update(tab.id, { focused: true, state: "maximized" }) 
}); 

雖然尋找到Chrome擴展API,我讀一些有關NPAPI和多一點的研究,我發現約FireBreath。因爲我從來沒有與此沒有任何東西我懷疑是否有任何方式或可能性,通過開發插件NPAPI/firebreath做以下的1:

  1. 當用戶打開帶有瀏覽器擴展程序的窗口,不知何故刪除從它的UI?
  2. 隨着插件的開發,並有一個index.html與3 <object id="plugin"...>而不是,並在這3個對象嵌入索引,讓他們打開網頁與我定義的網址,並使其更改URL後X在JavaScript上設置的時間?

這是所有的假設,idk如果我說什麼愚蠢的關於可能性與npapi這樣做,或者如果我應該看看別的地方。

在此先感謝。

+0

如果您目前無法在Chrome中創建UI較少的窗口,請嘗試使用功能請求? – 2013-05-17 00:40:46

回答

1

基本上答案是否定的,你不能做任何。

但是,爲了更準確,您可以做#2,但這是一項大量工作,可能無法滿足您的期望。在npapi插件中加載html頁面的唯一方法是將某種網頁瀏覽器嵌入到該插件中; FireBreath有一個undocumented library called WebView,它可以幫你做到這一點,但是它在Windows和Mac上使用IE引擎,它使用了大量的黑客手段使其工作,最終只在某些情況下才能正常工作。

您的#1無法做到任何一致或可靠; npapi插件對瀏覽器本身一無所知,只有頁面。有可能使用Windows API從本質上入侵瀏覽器窗口並改變內容,但它會非常脆弱並且特定於該版本的Chrome;如果事情稍後改變,它就會破裂。

+0

謝謝你清理我的疑惑。 – mpc 2013-05-08 18:04:33