chrome应用开发API之chrome.fileSystem
package apps
较chrome拓展,chrome应用有更加严格的安全策略,有一些只在应用中支持的API,例如fileSystem
开发中遇到的不好查阅到的点
确认需要开发的是拓展或者应用,应用对后台脚本的申明
"app": {"background": {"scripts": ["background.js"]}
},
后台脚本创建的窗口(区别于浏览器窗口)支持打断点需在manifest配置
"content_scripts": [{"matches": ["http://www.google.com/*"],"css": ["popup.css"],"js": ["jquery.js", "popup.js"]}
],
后台脚本创建的窗口不支持command+R刷新,似乎屏蔽了刷新的机制, 只能从拓展应用页面上command+R或者手动触发
console 调用 location.reload() 无法对页面进行刷新
chrome.runtime.reload() 能实现刷新
fileSystem调用示例
this.fs = chrome.fileSystem;
this.reader = new FileReader();
//打开文件夹
this.chooseEntry = function() {var that = this;this.fs.chooseEntry({ type: "openDirectory" }, function(Entry) {chrome.fileSystem.getDisplayPath(Entry, function(Path){document.getElementById('J_qnPath').value = Path;that.qnWorkbenchPath = Path;})});
};
//遍历子目录以及文件
this.getSubEntries = function(depth, Entry, parent){var dirReader = Entry.createReader();dirReader.readEntries(function(Entries) {for(var i=0; i<Entries.length; i++){var newParent = document.createElement('div');newParent.id = Date.now();newParent.innerText = echoEntry(depth+1, Entries[i]);parent.appendChild(newParent);if(Entries[i].isDirectory){getSubEntries(depth+1, Entries[i], newParent);}}}, errorHandler);
};
chrome应用开发API之chrome.fileSystem相关推荐
- Chrome扩展全部API
原文:http://www.ituring.com.cn/article/75729 稳定API 名称 描述 最低版本 alarms 使用 chrome.alarms API 安排代码周期性地或者在将 ...
- 谷歌插件开发ajax请求,Chrome扩展开发,跨域请求API
起因 这次问题是从Btools更换获取数据方式开始的,因为B站收藏夹在前台页面返回的数据中删除了失效视频的封面和标题,导致原来的程序无法获取视频信息. 于是我就想如果请求收藏夹的API,是否可以获取这 ...
- Web开发者的最佳开发调试环境Chrome
做前端开发的朋友,大都喜欢Chrome浏览器,为什么呢,我想,其中一个原因,就是Chrome给开发者提供了强大的插件吧.JavaScript教程网给大家一起探讨Chrome的一些开发者的工具使用 ...
- 十款开发者常用的Chrome插件,让chrome成为开发利器!
Chrome浏览器无论是作为浏览器市场的NO1还是其强大的跨平台能力以及丰富的扩展插件,一直是许多开发者的首要选择的浏览器.chrome浏览器也因为其丰富的Chrome插件,帮助开发者们在开发流程中极 ...
- chrome manifest v3 api大全(持续更新中)
开发浏览器扩展的时候,辛辛苦苦实现的一个功能,结果才发现有现成的api,为了方便开发, 整理了所有的api接口 chrome.history.TransitionType.AUTO_BOOKMARK: ...
- CHROME扩展开发之·迁移到 Manifest V3
迁移到 Manifest V3 让你朝着正确的方向前进. 发表于 2020 年 11 月 9 日,星期一 •更新于2021 年 8 月 13 日,星期五 目录 功能概要 更新 manifest.jso ...
- trello_如何构建Trello Chrome扩展程序-API身份验证
trello 在SitePoint,我们广泛使用Trello. 当然,它有其独特之处,可以在各个领域使用一两个改进,但是在大多数情况下,它彻底改变了工作人员,作者及其编辑的协作经验. 我最近发现自己需 ...
- 如何构建Trello Chrome扩展程序-API身份验证
在SitePoint,我们广泛使用Trello. 当然,它有其独特之处,可以在各个领域使用一两个改进,但是在大多数情况下,它彻底改变了工作人员,作者及其编辑的协作经验. 我最近发现自己需要从非会员的特 ...
- React开发chrome插件系列教程之chrome插件基本介绍
文章目录 chrome插件能干什么 chrome插件的版本 chrome插件的浏览器支持 chrome插件的功能组成 manifest.json popup content script backgr ...
最新文章
- GAAFET与FinFET架构
- 解决mysql中limit和in不能同时使用的问题
- 在SqlServer中把多个job生成一个sql脚本
- [Abp vNext 源码分析] - 1. 框架启动流程分析
- 专访香侬科技:致力于让世界听到中文NLP的声音
- 必应输入法(桌面版)软件分析和用户需求调查
- linkin大话面向对象--内部类
- java 修改win7系统时间_win7如何禁止更改系统时间
- Sqoop导入文件格式Text、Parquet、Avro、Sequence速度和大小的对比
- python自动化办公演示视频-Python自动化办公培训视频教程 百度云网盘
- C#设计模式之一单例模式(Singleton Pattern)【创建型】
- CNCF landscape 云原生 敏捷开发
- Python nose测试工具报ImportError: No Module named 错误
- sht20中写用户寄存器_SHT20 IIC 寄存器概述
- 双击计算机在任务栏里打不开了,电脑任务栏点击没反应卡死解决方法
- 谷歌地图api根据经纬度查询地名php,在线查询经纬度 google map查询地名返回经纬度 geocode geocoder的完整实例 代码下载...
- 人脸识别活体检测的一些方法
- 笔记本安装双系统教程
- hazy的leetcode刷题笔记(五)
- 原生js实现canvas粒子特效
热门文章
- 【记录8】Geoserver发布ArcGIS图层,使用QGIS上传图层样式
- 新能源是一把“双刃剑” 应警惕过热风险
- 2008年下半年 网络工程师 上下午试卷【附带答案】
- 美国Westar光学测试设备改造升级(精通TestStand编程管理软件)
- oracle表领域的做成,Oracle的架构学会了就可以做一个框架软件设计师了
- CodeForces 997C-Sky Full of Stars〖容斥定理+组合计数〗
- IOS 下载多个文件并分享给其他应用
- Android_SVG概述及生成使用SVG详解
- Pandas 从excel表格读取指定的列未按列的顺序排序
- 程序员有用网站集(干货)