您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
IndexedDB interface for Cities overlay
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.gf.qytechs.cn/scripts/369729/607489/WME%20Cities%20Overlay%20DB.js
// ==UserScript== // @name WME Cities Overlay DB // @namespace https://gf.qytechs.cn/en/users/166843-wazedev // @version 2018.06.22.05 // @description IndexedDB interface for Cities overlay // @author WazeDev // @include /^https:\/\/(www|beta)\.waze\.com\/(?!user\/)(.{2,6}\/)?editor\/?.*$/ // @license GNU GPLv3 // @grant none // ==/UserScript== (function() { 'use strict'; var db; function getDB() { if (!db) { db = new Promise(function(resolve, reject) { var openreq = indexedDB.open('WMECitiesOverlay', 1); openreq.onerror = function() { reject(openreq.error); }; openreq.onupgradeneeded = function() { // First time setup: create an empty object store //openreq.result.createObjectStore(dbName, { keyPath: "state" }); if(!openreq.result.objectStoreNames.contains("US_states_cities")) { openreq.result.createObjectStore("US_states_cities", { keyPath: "state" }); } if(!openreq.result.objectStoreNames.contains("MX_states_cities")) { openreq.result.createObjectStore("MX_states_cities", { keyPath: "state" }); } }; openreq.onsuccess = function() { resolve(openreq.result); }; }); } return db; } function withStore(storeName, type, callback) { return getDB().then(function(db) { return new Promise(function(resolve, reject) { var transaction = db.transaction(storeName, type); transaction.oncomplete = function() { resolve(); }; transaction.onerror = function() { reject(transaction.error); }; callback(transaction.objectStore(storeName)); }); }); } var idbKeyval = { get: function(storeName, key) { var req; return withStore(storeName, 'readonly', function(store) { req = store.get(key); }).then(function() { return req.result; }); }, set: function(storeName, value) { return withStore(storeName, 'readwrite', function(store) { store.put(value); }); }, delete: function(storeName, key) { return withStore(storeName, 'readwrite', function(store) { store.delete(key); }); }, clear: function(storeName) { return withStore(storeName, 'readwrite', function(store) { store.clear(); }); }, keys: function(storeName) { var keys = []; return withStore(storeName, 'readonly', function(store) { // This would be store.getAllKeys(), but it isn't supported by Edge or Safari. // And openKeyCursor isn't supported by Safari. (store.openKeyCursor || store.openCursor).call(store).onsuccess = function() { if (!this.result) return; keys.push(this.result.key); this.result.continue(); }; }).then(function() { return keys; }); } }; if (typeof module != 'undefined' && module.exports) { module.exports = idbKeyval; } else if (typeof define === 'function' && define.amd) { define('idbKeyval', [], function() { return idbKeyval; }); } else { self.idbKeyval = idbKeyval; } }());
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址