也许有人有铬构建经验,可以进一步提供帮助:
使用铬 sqlite 动态加载模块似乎是不可能的。
想象一下,您想通过 javascript 加载spatialite sqlite 扩展。
我做了什么:
db = window.openDatabase("test.sqlite", 1, "test.sqlite", 10000000);
db.transaction(function(tx, myArray) {
tx.executeSql("select load_extension('/home/user/tmp/libspatialite.so');", [], function(tx, result) {
console.log("load_extension spatialite");
},
function(tx, err) { console.log(err);}
);
});
但这以“无法准备语句(1未授权使用函数:load_extension)”结尾。
但是,我获取了 chromium-24.0.1290.0-1.39.1.x86_64.rpm 并尝试在启用加载模块扩展的情况下构建 chromium,但没有成功。
我做了什么:
扩展/chromium/src/third_party/sqlite/sqlite.gyp:
'SQLITE_OMIT_AUTHORIZATION',
扩展 /chromium/src/third_party/sqlite/google_generate_amalgamation.sh 与:
../configure --enable-load-extension=yes
在经历了几个小时的失败后,我提出了一个功能请求 chromium 错误跟踪器(不允许 web 数据库(sqlite) load_extension)。我猜这个功能请求甚至不会被开发人员识别,因为他们的工作量很大。