codecamp

应用扩展

应用扩展可以方便开发者将自定义界面或网页嵌入到喧喧的界面中,方便用户访问使用。喧喧目前支持的应用嵌入方式包括:

  • 直接将一个能够访问的页面作为应用嵌入,非常适合集成已经开发好了的页面应用,可以参考这个例子  firefox-send-example ;
  • 在扩展包中提供一个 html 文件作为页面嵌入,用于开发一个全新的应用,但不想受官方界面样式表和 React 模式限制,可以参考这个例子  helloworld-htmlapp-example,在你的 html 文件中执行的 JS 代码仍然可以使用 nodejs 的内置模块;
  • 在入口模块的 MainView  属性上设置一个 React 组件作为嵌入的界面,方便的开发一个与官方界面融合的应用,可以参考这个例子  helloworld-app-example,在你的 React 组件中可以使用全部的 nodejs 内置模块,并访问全局扩展对象。

一个最简单的应用扩展只需要在扩展包中包含一个 package.json  文件即可实现,下面以将火狐的文件传输应用包装为喧喧的应用扩展示例中的 package.json  文件内容:

{     
    "name": "firefox-send-example",     
    "displayName": "火狐传送",     
    "version": "1.0.0",     
    "type": "app",     
    "appType": "webView",     
    "webViewUrl": "https://send.firefox.com/", 
}

将写入以上内容的 package.json  文件打包为一个 zip 压缩文件,即可在喧喧中安装此应用扩展。喧喧也支持扩展名为 .xext  的扩展包。


全局扩展对象
管理应用扩展
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }