如果有其他人遇到 XPCWrappedNative_NoHelper - “NS_ERROR_XPC_BAD_IID”问题,同时尝试通过geolocation构建一个mozilla附加组件时对用户进行地理定位问题,我可以为您提供解决方案。
当前代码(返回错误) “click here”
工作代码(有效)
const {components, Cc, Ci} = require("chrome");
function getCurrentPosition(callback) {
var xpcomGeolocation = Cc["@mozilla.org/geolocation;1"].getService(Ci.nsISupports);
xpcomGeolocation.getCurrentPosition(callback);
}
var widget = require("sdk/widget").Widget({
id: "whereami",
label: "Where am I?",
contentURL: "http://www.mozilla.org/favicon.ico",
onClick: function() {
getCurrentPosition(function(position) {
console.log("latitude: ", position.coords.latitude);
console.log("longitude: ", position.coords.longitude);
});
}
});