分类 chrome 插件 下的文章

解决chrome extensions - Tabbed Postman - REST Client 无法导入问题

虽然 Postman 早就出了 Chrome Apps版本, 不过因为积累了很多老版本 Tabbed Postman 的例子, 大多数时间还是使用老版本的 Postman, 张这样:
postman.png

有次重装电脑, 把老版本里面的数据导出来, 然后想导入到新系统的 chrome的 Tabbed Postman 里面去, 不过每次都显示: it works, 却从来没有导入成功过, 原因在于 某段 JavaScript 出错, 今天为了使用某个数据, 只能手工 fix 这个 bug 了.

  1. 找到 Tabbed Postman Extension 的代码地址 (你可能要替换掉最后一部分):

    ~/Library/Application\ Support/Google/Chrome/Default/Extensions/coohjcphdfgbiolnekdpbcijmhambjff
  2. 把上面的整个文件夹复制到 ~/Download 目录下
  3. 修改 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);
           });
       }
     },
  4. 然后在 Chrome Extensions 里面选择 Load unpacked, 选择刚才修改的版本, 就可以导入了.

Chrome 插件不受 同源策略的限制, 允许跨站请求

想做一个HTML 元素转化为图片的功能, 可是如果你在自己的网址上做, 图片是可以拿到, 但是一旦放到canvas 里面, 就遭受同源策略的限制. 当然, 我这里只是找到一个 HTML 元素 转 canvas, canvas 再转 图片的方案.

突然发现 chrome的插件不受 同源策略的限制, 欣喜十分.
详细信息, 参看这里: https://developer.chrome.com/apps/xhr