加载html文件从文件系统与chrome扩展名
Load html file from file system with chrome-extension
我开发了一个Google Chrome扩展,通过REST(在ajax中)在web存档中发送一些url。不幸的是,我需要加载一些html模板(位于我的扩展)注入到我的模态窗口,我找不到任何解决方案!
这是我的manifest.json
{
"name": "MyWebArchive",
"version": "1.0",
"manifest_version": 2,
"description": "Aggiunge il pulsante per interagire su MyWebArchive",
"icons": { "64": "img/logo.png" },
"permissions": [
"tabs",
"storage",
"declarativeContent",
"https://test.mywebarchive.com/"
],
"page_action": {
"default_icon": "img/logo.png",
"default_popup": "template/popup.html",
"default_title": "Configura MyWebArchive Extension"
},
"background": {
"scripts": ["develop/background.js"]
},
"content_scripts":
[
{
"pages": ["template/playlist.html"],
"matches": ["https://www.github.com/*","https://www.bitbucket.org/*","https://github.com/*","https://bitbucket.org/*","http://www.github.com/*","http://www.bitbucket.org/*","http://github.com/*","http://bitbucket.org/*"],
"js": ["develop/constant.js","vendor/jquery-1.11.1.min.js","vendor/bootstrap.js","develop/azioni.js","js/popup.js"],
"css": ["css/bootstrap-modal.css", "css/style.css"]
}
]
}
在我的代码中我尝试过
//Load using jQuery
$('.mwa').click(function () {
$('#mwa-body').load(chrome.extension.getURL('template/login.html'));
$('#mwa-btn').click();
}
或
//Load using webkitRequestFileSystem
$('.mwa').click(function () {
window.webkitRequestFileSystem(window.PERSISTENT, 5 * 1024 * 1024, onInitFs, errorHandler);
$('#mwa-btn').click();
}
function onInitFs(fs) {
console.log('Opened file system: ' + fs.name);
[...]
}
或
//Load via Ajax
$('.mwa').click(function () {
var url = chrome.extension.getURL('template/playlist.html');
$('#mwa-btn').click();
$.get(url, function(html) {
$(this).html(html);
}).error(function(e) {
console.log(e);
});
});
或
//Insert with iframe
$('.mwa').click(function () {
var url = chrome.extension.getURL('template/selectFolder.html');
$("#mwa-body").html('<iframe src="' + url + '"></iframe>');
$('#mwa-btn').click();
});
或使用javascript FileReader库,但这些尝试都不起作用。
我可以通过用javascript编写html来解决,但是模板非常复杂,所以我正在研究如何从文件系统加载它。
Tnx
你需要声明文件为web可访问的:
"web_accessible_resources": [
"template/*"
],
相关文章:
- 未捕获的类型错误:无法读取属性'addEventListener'的null chrome扩展名
- 从Chrome扩展名中的popup.html文件在background.js文件中运行一个函数
- 保存输入字段Chrome扩展名
- 如何通过chrome扩展名获取所有CSS和Javascript文件
- 在 iFrame 中注入 JS 文件,通过 Google chrome 扩展名中的 ContentScript 进行
- 如何从chrome扩展名读取文件
- chrome扩展名“sendResponse”不起作用
- 是否可以使用chrome扩展名与非活动选项卡中的内容元素进行交互
- 创建/下载一个带有chrome扩展名的excel文件
- 创建/下载一个带有chrome扩展名的.html文件
- 如何在Chrome扩展名的内容JS文件中包含其他JavaScript文件
- 未捕获的引用错误:即使在加载 JS 后,在 chrome 扩展名中也没有定义 HTMLInspector
- 如何使用chrome扩展名修改页面上的所有链接
- 从内容脚本重定向到chrome扩展名网址
- 删除文件时无法检测到 chrome 扩展名中的删除事件
- U2F支持,没有U2F Chrome扩展名
- jQuery在chrome扩展名中是未定义的
- 将文件从本地存储上传到具有 Chrome 扩展名的服务器
- chrome 扩展名中的 XMLHttpRequest .
- 有没有办法使用 .cshtml 文件作为 chrome 扩展名中的弹出窗口