Changeset 9110

Show
Ignore:
Timestamp:
04/08/08 10:18:59 (6 years ago)
Author:
drry
Message:

lang/javascript/vimperator-plugins/trunk/autoIgnoreKey.js:

  • added a wild-card feature to ignore pages list.
  • et cetera...
Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/javascript/vimperator-plugins/trunk/autoIgnoreKey.js

    r8642 r9110  
    11/** 
    2  * Auto switch vimperator key navigation 
     2 * Auto switch Vimperator key navigation 
    33 * 
    44 * @author teramako teramako@gmail.com 
    55 * @author halt feits <halt.feit at gmail.com> 
    6  * @version 0.6.0 
     6 * @version 0.6pre 
    77 */ 
    88 
    99(function(){ 
    1010 
    11 /* 
     11/** 
    1212 * String or RegExp 
    1313 * e.g) 
     
    1515 *  * 'http://reader.livedoor.com/reader/' 
    1616 */ 
    17 var ignorePageList = [ 
     17const ignorePagesList = [ 
    1818    /^https?:\/\/mail\.google\.com\//, 
    19     'http://reader.livedoor.com/reader/' 
    20 ]; 
     19    'http://reader.livedoor.com/reader/*', 
     20    'http://reader.livedoor.com/public/*', 
     21    'http://fastladder.com/reader/*', 
     22    'http://fastladder.com/public/*' 
     23].map(function(i) 
     24    i instanceof RegExp ? i : 
     25    i instanceof Array  ? new RegExp(String(i[0]), String(i[1])) : 
     26    new RegExp("^" + String(i).replace(/\s+/g, "") 
     27                              .replace(/[\\^$.+?|(){}\[\]]/g, "\\$&") 
     28                              .replace(/(?=\*)/g, ".") 
     29                   + "$", "i")); 
    2130 
    2231document.getElementById('appcontent').addEventListener('DOMContentLoaded',function(event){ 
    23     if ( isMatch(event.target.documentURI) ){ 
    24         liberator.modes.passAllKeys = true; 
    25     } else { 
    26         liberator.modes.passAllKeys = false; 
    27     } 
     32    var uri = event.target.documentURI; 
     33    liberator.modes.passAllKeys = isMatch(uri); 
    2834    //liberator.log('load page: ' + gBrowser.selectedBrowser.contentDocument.URL); 
    2935},false); 
     
    3137getBrowser().mTabBox.addEventListener('TabSelect',function(event){ 
    3238    var uri = this.parentNode.currentURI.spec; 
    33     if ( isMatch(uri) ){ 
    34         liberator.modes.passAllKeys = true; 
    35     } else { 
    36         liberator.modes.passAllKeys = false; 
    37     } 
     39    liberator.modes.passAllKeys = isMatch(uri); 
    3840    //liberator.log('select page: ' + gBrowser.selectedBrowser.contentDocument.URL); 
    39 },false);                                      
    40 function isMatch(uri){ 
    41     return ignorePageList.some(function(e,i,a){ 
    42         if (typeof e == 'string'){ 
    43             return uri.indexOf(e) != -1; 
    44         } else if (e instanceof RegExp){ 
    45             return e.test(uri); 
    46         } 
    47     }); 
    48 } 
     41},false); 
     42 
     43function isMatch(uri) ignorePagesList.some(function(e) e.test(uri)) 
     44 
    4945})(); 
    50  
     46// vim:sw=4 ts=4 et: