rem:  if ( !link.protocol ) {  var protocol; if (link.href) { protocol = link.href.substr( 0, 11 ); } else { protocol = link.getAttributeNS("http: if (protocol) { protocol = protocol.substr( 0, 11 ); } } return protocol.toLowerCase() != "javascript:"; } else {  return link.protocol.toLowerCase() != "javascript:"; 
add: try {  if ( !link.protocol ) {  var protocol; if (link.href) { protocol = link.href.substr( 0, 11 ); } else { protocol = link.getAttributeNS("http: if (protocol) { protocol = protocol.substr( 0, 11 ); } } return protocol.toLowerCase() != "javascript:"; } else {  return link.protocol.toLowerCase() != "javascript:"; } } catch (e) {   return false; 
context:     isLinkSaveable : function ( link ) {        // Test for missing protocol property.        if ( !link.protocol ) {           // We must resort to testing the URL string :-(.           var protocol;           if (link.href) {             protocol = link.href.substr( 0, 11 );           } else {             protocol = link.getAttributeNS("http://www.w3.org/1999/xlink","href");             if (protocol) {               protocol = protocol.substr( 0, 11 );             }           }           return protocol.toLowerCase() != "javascript:";        } else {           // Presume all but javascript: urls are saveable.           return link.protocol.toLowerCase() != "javascript:";        }    },
meta: 5872	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/5872/0ca337367f8a00e2f31aa2f11ce20c6e5ec92ebd/nsContextMenu.js/clean/xpfe/communicator/resources/content/nsContextMenu.js