我对 Parse 和 Chrome 扩展程序开发都很陌生,所以这可能是一个非常基本的问题:
我正在尝试开发一个 chrome 扩展,它可以读取数据并将数据写入 Parse.com。我当前的应用程序非常简单,虽然它在 Chrome(作为浏览器)中完美运行,但它不能作为 Chrome 扩展运行。对我可能会忽略的事情有什么想法吗?
具体细节:
我有一个指向 jquery.min.js、parse-1.2.18.min.js、myownscript.js 的 index.html
myownscript.js 看起来像这样:
$(function() {
Parse.$ = jQuery;
Parse.initialize("OMITTED",
"OMITTED");
var Users = Parse.Object.extend("Users");
var users = new Users();
$("button").click(function(){
users.save({name: $("#name").val()}, {
success: function(object) {
$(".success").show();
},
error: function(model, error) {
$(".error").show();
}
});
users.save({email: $("#email").val()});
});
});
最佳答案
您需要在解析初始化之前粘贴此代码:
function ChromeStorageController(){
var store = {};//Object.create(null);
store.async = 1;
store.getItemAsync = function(path){
var get = new Parse.Promise()
chrome.storage.local.get(path,function(data){
//careful here: get return a key,value pair but we only need the value
get.resolve(data[path]);
});
return get;
};
store.setItemAsync = function(path,value){
var set = new Parse.Promise()
var item = Object.create(null);
item[path] = value;
chrome.storage.local.set(item, function(err){
if(err){
set.reject(err);
}else{
set.resolve(value);
}
});
return set;
};
store.removeItemAsync = function(path){
var remove = new Parse.Promise()
chrome.storage.local.remove(path,function(err){
if(err){
remove.reject(err);
}else{
remove.resolve();
}
})
return remove;
};
store.clear = function(){
chrome.storage.local.clear();
};
return store;
}
Parse.CoreManager.setStorageController(ChromeStorageController())
解决方案发布在这里: https://github.com/ParsePlatform/Parse-SDK-JS/issues/72
感谢夸拉克
关于javascript - Parse.com JS 可以作为 Chrome 扩展使用吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24536922/