我的Flex應用程序使用本地SharedObjects。例如,由於插件崩潰,Flash cookie發生了一些事件。在這種情況下,SharedObjects.getLocal將引發異常(#2006)。Flex:從損壞的本地SharedObject中恢復
我的客戶希望應用程序正常恢復:如果Cookie損壞,我應該用空的替換它。
問題是,如果SharedObject.getLocal沒有返回SharedObject的實例,我沒有什麼可以調用clear()。
如何刪除或替換此類cookie?
非常感謝!
編輯:
沒有太多的代碼顯示 - 我訪問本地的cookie,我可以輕鬆地捕獲該異常。但是,一旦我發現異常,我怎樣才能在同一位置創建一個新的共享對象?
try {
localStorage = SharedObject.getLocal("heywoodsApp");
} catch (err:Error) {
// what do I do here?
}
錯誤很容易通過用編輯器損壞Flash cookie的二進制內容來重現。
+1的問題;但我不知道解決方案是什麼。什麼是你的應用程序做插件崩潰是司空見慣的?你能分享代碼嗎?你能分享完整的例外嗎?我想知道是否可以使用uncaughtException事件來創建一個全新的SharedObject? – JeffryHouser 2012-03-29 13:42:37
該應用程序是監控和分析公司內部使用的業務數據的前端。崩潰並不是很普遍,但是在Windows崩潰之後有一個損壞的cookie的報告,並且由於用戶在技術上不夠精通,無法清理他們的Flash cookies,所以客戶已經提出了對功能的請求(即I如果我這樣做,可以獲得更多的錢),如果事件重複,應用會爲他們做這件事。我將把代碼放在原始評論中。 – 2012-03-29 14:24:19
@ThomasHeywood你有沒有解決這個問題?我在這裏沒有看到任何好的答案:/ – 2014-06-20 07:36:47