我開發Firefox擴展,並具有存儲一些值,我需要從任何其它分機/頁等的Javascript範圍/安全問題
我使用的設置安全和交通不便的我像擴展代碼在這裏看到:
if(!namesp) var namesp={};
if(!namesp.anothernamesp) namesp.anothernamesp={};
namesp.anothernamesp = function() {
var mySecureValue = ''; //is this variable accessible from anything aside from inside the namesp.anothernamesp scope?
return {
useSecureValue: function() {
//do something here with mySecureValue
}
};
function getSecureValue() { //can this method be called from anywhere besides inside the namesp.anothernamesp scope?
return mySecureValue;
}
}();
有沒有什麼辦法比我自己擴展其他任何可以訪問「mySecureValue」?爲了讓這個對象可以在我的擴展等中打開的任何窗口中全局訪問,我將該對象傳遞給window.openDialog()方法中的窗口,並使用window.arguments從新創建的窗口訪問它。謝謝。
我不知道答案,但在附註中,您正在檢查是否要在第二行代碼中創建'namesp.anothernamesp',但是您仍然在第四行代碼處覆蓋它。我不認爲第二行代碼會添加任何內容。 – pimvdb 2011-05-10 07:33:14