解决chrome extensions - Tabbed Postman - REST Client 无法导入问题
虽然 Postman 早就出了 Chrome Apps版本, 不过因为积累了很多老版本 Tabbed Postman 的例子, 大多数时间还是使用老版本的 Postman, 张这样:
有次重装电脑, 把老版本里面的数据导出来, 然后想导入到新系统的 chrome的 Tabbed Postman 里面去, 不过每次都显示: it works, 却从来没有导入成功过, 原因在于 某段 JavaScript 出错, 今天为了使用某个数据, 只能手工 fix 这个 bug 了.
找到 Tabbed Postman Extension 的代码地址 (你可能要替换掉最后一部分):
~/Library/Application\ Support/Google/Chrome/Default/Extensions/coohjcphdfgbiolnekdpbcijmhambjff
- 把上面的整个文件夹复制到 ~/Download 目录下
修改 0.8.4.19_0/js/request.js (前面是我使用的 Tabbed Postman 的版本号), 修改的函数是: importCollectionData.
importCollectionData:function (coll) { for (let i = 0; i < coll.collections.length; i++) { let collection = coll.collections[i]; pm.indexedDB.addCollection(collection, function (c) { var message = { name:collection.name, action:"added" }; $('.modal-import-alerts').append(Handlebars.templates.message_collection_added(message)); var requests = []; var ordered = false; if ("order" in collection) { ordered = true; } console.log(collection); for (var i = 0; i < collection.requests.length; i++) { var request = collection.requests[i]; request.collectionId = collection.id; /*Handling rawModeData */ if(request.hasOwnProperty("rawModeData")) { request.data = request.rawModeData; } var newId = guid(); if (ordered) { var currentId = request.id; var loc = _.indexOf(collection["order"], currentId); collection["order"][loc] = newId; } request.id = newId; if ("responses" in request) { var j, count; for (j = 0, count = request["responses"].length; j < count; j++) { request["responses"][j].id = guid(); request["responses"][j].collectionRequestId = newId; } } pm.indexedDB.addCollectionRequest(request, function (req) {}); requests.push(request); } pm.indexedDB.updateCollection(collection, function() {}); collection.requests = requests; pm.collections.render(collection); }); } },
- 然后在 Chrome Extensions 里面选择 Load unpacked, 选择刚才修改的版本, 就可以导入了.