我正在尝试在Chrome和Firefox中打开一个IndexedDB。我的代码:
var v = 2;
var request = indexedDB.open("orders", v);
//Firefox code for db init
request.onupgradeneeded = function (e) {
console.log("onupgradeneeded");
var db = e.target.result;
// We can only create Object stores in a setVersion transaction;
if(db.objectStoreNames.contains("client")) {
var storeReq = db.deleteObjectStore("client");
}
const employeeData = [
{ id: "00-01", name: "gopal", age: 35, email: "gopal@tutorialspoint.com" },
{ id: "00-02", name: "prasad", age: 32, email: "prasad@tutorialspoint.com" }
];
var objectStore = db.createObjectStore("client", {keyPath: "id"});
for (var i in employeeData) {
objectStore.add(employeeData[i]);
}
}
request.onsuccess = function(e) {
var db = e.target.result;
console.log("Success");
console.log(db);
var transaction = db.transaction(["client"]);
var objectStore = transaction.objectStore("client");
var request = objectStore.get("00-02");
request.onerror = function(event) {
alert("Unable to retrieve daa from database!");
};
request.onsuccess = function(event) {
// Do something with the request.result!
if(request.result) {
alert("Name: " + request.result.name + ", Age: " + request.result.age + ", Email: " + request.result.email);
}
else {
alert("Kenny couldn't be found in your database!");
}
};
};
request.onerror = function(e) {
console.log(e);
};
在Chrome中,它根本不起作用。我得到了
DOMException: The user denied permission to access the database.
在Firefox中它的工作方式如上所示。但是,当我将数据库的名称更改为myindexeddb
时,它就不再起作用了。我得到UnknownError
。
我不知道我做错了什么。
答案 0 :(得分:1)
在chrome中,转到chrome:// settings / content并确保选中顶部单选按钮。另请查看“管理例外”列表,以查看该域是否已明确阻止。
答案 1 :(得分:0)
对于我来说,我按照以下步骤操作:
SELECT s1.name, s1.updatedAt
FROM issuers s1
LEFT JOIN issuers s2 ON s1.updatedAt < s2.updatedAt
WHERE s2.updatedAt IS NULL;
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h5 class="modal-title">Capture Image</h>
</div>
<div class="modal-body">
<style>
#my_camera{
width: 320px;
height: 240px;
border: 1px solid black;
}
</style>
<div id="my_camera"></div>
<input type=button value="Take Snapshot" onClick="take_snapshot()">
<div id="results" ></div>
<!-- Webcam.min.js -->
<script type="text/javascript" src="webcamjs/webcam.min.js"></script>
<!-- Configure a few settings and attach camera -->
<script language="JavaScript">
Webcam.set({
width: 320,
height: 240,
image_format: 'jpeg',
jpeg_quality: 90
});
Webcam.attach('#my_camera');
<!-- Code to handle taking the snapshot and displaying it locally -->
function take_snapshot() {
// take snapshot and get image data
Webcam.snap(function (data_uri) {
// display results in page
document.getElementById('results').innerHTML =
'<img src="' + data_uri + '"/>';
});
}
</script>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-success" data-dismiss="modal">Captute Image</button>
<button type="button" class="btn btn-danger" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
chrome://settings/content
这应该可以解决该错误。