3

我正在創建一個擴展名,以便在不同屏幕尺寸之間輕鬆切換(以便測試響應式設計)。儘管這已經存在,但我認爲這將是一個很好的練習。Chrome擴展程序:window.innerWidth = 0? //獎金:最大化窗口

我遇到兩個問題:

  1. 當我嘗試計算幀的大小(window.width - window.innerWidth),window.innerWidth顯示爲0在控制檯日誌。

  2. 我找不到任何方法來輕鬆地最大化窗口。我可以調整screen.width和screen.height,但這不是最大化。我有什麼選擇?開發者網站和谷歌本身並沒有返回太多有用的信息。

下面是我的一些代碼:

function resize(win){ 
window = win; 
frameWidth = window.width - window.innerWidth; 
frameHeight = window.height - window.innerHeight; 
console.log(window.innerWidth); 
... 
} 
+0

您是否正在訪問擴展程序範圍或選項卡範圍的「窗口」? – 2012-01-12 22:52:24

+0

@ldiqual嚴我沒有線索,但我會假設擴展,因爲結果是0 ...我該如何改變呢? – HannesFostie 2012-01-16 13:47:14

回答

-1

我想你要尋找的是window.outerWidth和window.outerHeight:

VAR WIDTH = window.outerWidth - 窗口。 innerWidth;

但是你可能有這樣的權利,你可能會運行到的問題是試圖來計算你的背景頁面寬度。背景頁面的innerWidth是0,因爲它是一個不可見的0尺寸窗口。

要獲得實際outerWidth(或innerWidth),你需要在有問題的可視窗口來執行代碼。您可以使用內容腳本來執行此操作(如果該腳本處於活動狀態),或者您可以在擴展程序中創建新的HTML頁面,將其加載到窗口中的選項卡中,讓它執行計算並使用sendRequest將數據發送回您的後臺頁面。

+0

嗨 聽起來像你是正確的0值返回。但是,我完全不理解以下解釋;你介意更詳細地解釋還是指向正確的方向? 爲了清楚起見,插件的想法是調整響應式佈局測試的窗口大小 - 所以它會被大量使用,並且需要像閃電般快速。這會工作嗎? – HannesFostie 2012-01-14 19:48:42

+1

-1用於廣告。 – 2012-01-16 14:33:39

1

您正在訪問您的背景頁面,這就是爲什麼您的寬度/高度= 0。您必須訪問當前窗口。

chrome.windows.getCurrent(function(w) { 
    // You can modify some width/height here 
} 

窗口屬性描述爲here。例如,您可以使用以下方法修改寬度/高度:

w.width = 300; 
w.height = 200; 
+0

我其實已經試過了。事實上,我使用getCurrent調整窗口大小(工作方式),它只是調整外部窗口的大小,而我想將內部窗口大小設置爲我需要的大小。當我回到家時(我的桌面上),我會上傳整個源代碼,我希望你不介意在那時達到一個高峯。 – HannesFostie 2012-01-17 09:55:47

+0

好的,我會看看它。 – 2012-01-17 12:17:44

相關問題