我的最后一个也是最后一个问题。我似乎无法在扩展中使用.downloads函数。我收到了错误
无法阅读资产'下载'未定义的
注意我删除了一些代码,以便它适合这里 我的代码是
var contentInput = document.createElement("div")
contentInput.innerHTML = '<div style="position:relative; width: 145px;height: 30px;right: 0px;left: 14px;padding-top: 0px;top: 0px;"><div class="btn-primary btn-medium" style="position: absolute;left: 0px;" draggable="true">Download .OBJ</div><p style="position:relative; top: 33px; font-size:15px">Click to download the OBJ version of this asset.</p> </div>'
contentInput = contentInput.children[0].children[0]
localStorage.setItem("OBJURL", jsonObject.Url); //It's saved!
});
var objurl = localStorage.getItem("OBJURL");
SendRequest(objurl, function (objfinal) {
});
chrome.downloads.download({url:objurl,filename:"wat23333.obj",conflictAction:"overwrite"})
chrome.extension.sendRequest({
action: "EditContent",
type: assetType,
name: assetName,
content: contentData
})
}
清单文件
权限
"permissions": [
"http://*.roblox.com/*",
"http://*.rbxcdn.com/*",
"downloads",
"downloads.open"
],
答案 0 :(得分:5)
Devlin的猜测几乎是正确的。
当这些条件中的任何一个成立时都会发生:
显然你有第二种情况。您需要将消息传递到后台页面并从那里处理操作。
答案 1 :(得分:2)
错误“无法读取未定义的属性'下载'”表示chrome对象上没有downloads属性。这通常表示无权访问API - 您是否在清单中请求“下载”权限?
答案 2 :(得分:0)
对我来说,Xan的解决方案也没有用。对我有用的是转到chrome://扩展并从chrome中删除扩展。之后,我重新添加了扩展名。然后它奏效了。