Web 扩展脚本 jQuery load html div.



我正在开发我的第一个网络扩展,我想将预定义的 html 加载到目标页面。

在清单中,我将"index.html"添加到web_accessible_resources

在内容脚本中,我尝试将此 html 加载到其他一些div 中,如下所示:

$("#divTestRectangle").load("index.html", function (response, status, xhr) {
if (status == "error") {
var msg = "Sorry but there was an error: ";
alert(msg + xhr.status + " " + xhr.statusText);
console.log(response);
console.log(xhr);
}
});

我从xhr.statusText收到"URI格式不正确"错误。

我错过了什么?或者也许还有另一种选择?我不想使用"硬编码"字符串变量对象,因为它感觉不对和优雅。

编辑:

manifest.json:

{
"manifest_version": 2,
"name": "youtube-test",
"version": "1.0",
"permissions": [
"activeTab",
"contextMenus"
],
"web_accessible_resources": [
"index.html"
],
"content_scripts": [
{
"matches": [ "https://www.youtube.com/watch*" ],
"css": [ "style.css" ],
"js": [ "jquery-3.2.1.min.js", "jquery-ui.min.js", "main.js" ]
}
]
}

主.js:

$(function () {
var htmlRectangle = '<div id="divTestRectangle"></div>';
$("#ticker-content").prepend(htmlRectangle);
$("#divTestRectangle").load("index.html", function (response, status, xhr) {
if (status == "error") {
var msg = "Sorry but there was an error: ";
console.log(msg + xhr.status + " " + xhr.statusText);
console.log(response);
console.log(xhr);
}
});
$("#divTestRectangle").draggable({});
});

编辑:

答案如下

我的问题的解决方案是更改行

$("#divTestRectangle").load("index.html", function (response, status, xhr) {

$("#divTestRectangle").load(chrome.extension.getURL("index.html"), function (response, status, xhr) {

感谢@ChristosPapoulas和@Makyen的评论。

相关内容

  • 没有找到相关文章

最新更新