我已經編寫了一個簡單的僅前端web應用程序,它在瀏覽器中正常工作,並且希望在Chrome網上應用店中可用。雖然這是一個巨大的痛苦,我擔心有些事我沒有得到。Chrome應用程序和跳過滾動條
我首先添加一個manifest.json文件到項目中。它與Firefox的manifest.webapp文件略有不同,但不管怎樣,都沒有直接的衝突,所以我只需添加一些額外的參數並將剩餘的參數複製。
它看起來像我需要一個後臺腳本來啓動我的應用程序,否則它將被視爲一個擴展名,而不是一個在其自己的窗口中打開的應用程序。複雜的,但我想它讓我更多地控制我的應用程序啓動,所以它是有道理的。所以我喜歡這個東西添加到這個清單:
{
"background": {
"scripts": ["main.js"]
}
}
然後在main.js我有這樣的事情:
chrome.app.runtime.onLaunched.addListener(function() {
var screenWidth = screen.availWidth;
var screenHeight = screen.availHeight;
var width = 500;
var height = 300;
chrome.app.window.create('index.html', {
id: "myapp",
outerBounds: {
width: width,
height: height,
left: Math.round((screenWidth-width)/2),
top: Math.round((screenHeight-height)/2)
}
});
});
現在我的應用程序正在啓動OK,但我得到一個錯誤在控制檯中:window.localStorage is not available in packaged apps. Use chrome.storage.local instead.
。奇怪的是,我不能只使用W3 spec localStorage標準。查找chrom.storage.local,它甚至不使用標準的localStorage語法。 getItem
改爲get
,導致在localStorage周圍使用輕包裝器時無法修改現有代碼。
所以我的問題:這是什麼誠實的谷歌開發者預計要經過,如果他們想在Chrome網上應用店的應用,還是我可怕的誤解的東西嗎?
您已經注意到一些API被禁用:https://developer.chrome.com/apps/app_deprecated。您是否已嘗試使用[''標籤](https://developer.chrome.com/apps/tags/webview)? –
2014-10-26 19:50:14
感謝您的評論(以及下面的答案)。根據我的情況,我認爲託管應用程序將成爲我的最佳發展道路。瞭解生態系統是我最大的問題,也許我會寫一篇博客文章,解釋當我完成幫助其他人與我一樣困惑的事情。 – 2014-10-27 06:59:24