URL of a file inside an extenion folder has the following format:
chrome-extension://<ID>/topbar.html
You can get this path by running:
chrome.extension.getURL("topbar.html")
Now if you try to do:
$('#topbar').load(chrome.extension.getURL("topbar.html"));
it wouldn't let you because of cross-origin policy. Background pages don't have this limitation, so you would need to load HTML there and pass result to a content script:
content_script.js:
chrome.extension.sendRequest({cmd: "read_file"}, function(html){
$("#topbar").html(html);
});
background.html:
chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
if(request.cmd == "read_file") {
$.ajax({
url: chrome.extension.getURL("topbar.html"),
dataType: "html",
success: sendResponse
});
}
})
In a real world you probably would read topbar.html only once and then reuse it.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…