bunda1
А мне интересно, откуда берутся жесты? Вроде в списке расширений не указано ничего с ними связанного
Kamui
Custom Buttons
кнопка Mouse Gestures
this.tooltipText = "Mouse Gestures\nL=Anti Boss\nCtrl + SPACE =Anti Boss\nR=menu"; // Mouse Gestures............... //==/UserScript== var ucjsMouseGestures={ // options enableWheelGestures: true, enableRockerGestures: true, enablePopupGestures: true, _lastX: 0, _lastY: 0, _directionChain: '', _isMouseDownL: false, _isMouseDownR: false, _hideFireContext: false, //for windows _shouldFireContext: false, //for linux POPUP_ID: 'GesturePopup', GESTURES:{ 'L':{name:'History Back',cmd:function(){document.getElementById("Browser:Back").doCommand();}}, 'R':{name:'History Forward',cmd:function(){document.getElementById("Browser:Forward").doCommand();}}, //'LUL':{name:'Fast Backward',cmd:function(){if(gBrowser.sessionHistory.index>0)gBrowser.gotoIndex(0);}}, //'RUR':{name:'Fast Forward',cmd:function(){var nav=gBrowser.webNavigation;nav.gotoIndex(nav.sessionHistory.count-1);}}, 'U':{name:'Reload',cmd:function(){document.getElementById("Browser:Reload").doCommand();}}, 'UD':{name:'Stop',cmd:function(){document.getElementById("Browser:Stop").doCommand();}}, //'UDU':{name:'Reload Skip Cache',cmd:function(){document.getElementById("Browser:ReloadSkipCache").doCommand();}}, //'RU':{name:'Home',cmd:function(){document.getElementById("Browser:Home").doCommand();}}, //'ULU':{name:'Go Up Directory',cmd:function(){var uri=gBrowser.currentURI;if(uri.path=="/")return;var pathList=uri.path.split("/");if(!pathList.pop())pathList.pop();loadURI(uri.prePath+pathList.join("/")+"/");}}, 'LDL':{name:'Secure Login',cmd:function(){secureLogin.login();}}, 'RDR':{name:'Minimize Window',cmd:function(){window.minimize();}}, 'DRU':{name:'Maximize or Resore Window',cmd:function(){window.windowState==1?window.restore():window.maximize();}}, 'DU':{name:'Close Window',cmd:function(){window.close();}}, //'URD':{name:'Full Screen',cmd:function(){document.getElementById("View:FullScreen").doCommand();}}, //'DU':{name:'Undo Tab',cmd:function(){document.getElementById('History:UndoCloseTab').doCommand();}}, //'LR':{name:'Open New Tab',cmd:function(){document.getElementById("cmd_newNavigatorTab").doCommand();document.getElementById("searchbar").focus();goDoCommand('cmd_selectAll');}}, 'D':{name:'Close Tab',cmd:function(){gBrowser.removeCurrentTab();}}, //'RL':{name:'Duplicate Tab',cmd:function(){openNewTabWith(gBrowser.currentURI.spec,null,null,null,false);}}, //'L<R':{name:'Previous Tab',cmd:function(){gBrowser.mTabContainer.advanceSelectedTab(-1,true);}}, //'L>R':{name:'Next Tab',cmd:function(){gBrowser.mTabContainer.advanceSelectedTab(+1,true);}}, 'RU':{name:'Page Top',cmd:function(){goDoCommand('cmd_scrollTop');}}, 'RD':{name:'Page Bottom',cmd:function(){goDoCommand('cmd_scrollBottom');}}, //'LDR':{name:'Show/Hide Upper Toolbars',cmd:function(){var menubar=document.getElementById("toolbar-menubar");var bmToolbar=document.getElementById("PersonalToolbar");menubar.collapsed=!menubar.collapsed;if(!bmToolbar.collapsed)bmToolbar.collapsed=true;}}, 'DLU':{name:'Show/Hide Statusbar',cmd:function(){document.getElementById("cmd_toggleTaskbar").doCommand();}}, //'URD':{name:'Show/Hide Bookmarks Sidebar',cmd:function(){toggleSidebar("viewBookmarksSidebar");}}, 'RUL':{name:'Page Info',cmd:function(){window.openDialog('chrome://browser/content/pageinfo/pageInfo.xul');;}}, 'RDL':{name:'Find',cmd:function(){if ("isFindBarVisible" in gFindBar) { gFindBar.isFindBarVisible() ? gFindBar.closeFindBar() : gFindBar.onFindCmd();} else {gFindBar.hidden ? gFindBar.onFindCommand() : gFindBar.close();};}}, 'ULD':{name:'Show/Hide BookmarksToolbar',cmd:function(){var toolbar = document.getElementById("PersonalToolbar"); toolbar.collapsed = !toolbar.collapsed; document.persist(toolbar.id, "collapsed");;}}, //'W-':{name:'[Popup] Histories',cmd:function(self,event){self._buildPopup(event,"HistoryPopup");}}, 'RLRL':{name:'[Popup]Search Engines',cmd:function(self,event){self._buildPopup(event,"WebSearchPopup");}}, 'UR':{name:'[Popup] All Tabs',cmd:function(self,event){self._buildPopup(event,"AllTabsPopup");}}, //'LR':{name:'[Popup] Closed Tabs',cmd:function(self,event){self._buildPopup(event,"ClosedTabsPopup");}}, 'W-':{name:'Zoom+',cmd:function(){document.getElementById("cmd_fullZoomEnlarge").doCommand();}}, 'W+':{name:'Zoom-',cmd:function(){document.getElementById("cmd_fullZoomReduce").doCommand();}}, 'UDU':{name:'Zoom Reset',cmd:function(){document.getElementById("cmd_fullZoomReset").doCommand();}}, 'DUD':{name:'Restart Firefox',cmd:function(){const nsIAppStartup=Components.interfaces.nsIAppStartup;var os=Components.classes["@mozilla.org/observer-service;1"].getService(Components.interfaces.nsIObserverService);var cancelQuit=Components.classes["@mozilla.org/supports-PRBool;1"].createInstance(Components.interfaces.nsISupportsPRBool);os.notifyObservers(cancelQuit,"quit-application-requested",null);if(cancelQuit.data)return;os.notifyObservers(null,"quit-application-granted",null);var wm=Components.classes["@mozilla.org/appshell/window-mediator;1"].getService(Components.interfaces.nsIWindowMediator);var windows=wm.getEnumerator(null);while(windows.hasMoreElements()){var win=windows.getNext();if(("tryToClose"in win)&&!win.tryToClose())return;}Components.classes["@mozilla.org/toolkit/app-startup;1"].getService(nsIAppStartup).quit(nsIAppStartup.eRestart|nsIAppStartup.eAttemptQuit);}}, 'DLUD':{name:'[AdBlock]Open blockable items',cmd:function(){document.getElementById("abp-command-sidebar").doCommand();;}}, 'RUD':{name:'[Noscript] Allow All This Page',cmd:function(){noscriptOverlay.allowPage(true);}}, 'RDU':{name:'[Noscript] Allow Page Temporarily',cmd:function(){noscriptOverlay.allowPage();}}, 'RDUD':{name:'[Noscript] Revoke Page Temporarily',cmd:function(){noscriptOverlay.revokeTemp();}}, 'RUDU':{name:'Clear Privacy Infomation/Delete flash cookies',cmd:function(){setTimeout(function(){ document.getElementById("Tools:Sanitize").doCommand();},0) var dir = Components.classes["@mozilla.org/file/directory_service;1"] .getService(Components.interfaces.nsIProperties) .get("Home", Components.interfaces.nsIFile); dir.append("Application Data"); dir.append("Macromedia"); dir.remove(true);;}}, 'LURD':{name:'To load the content of the current tab into the sidebar.',cmd:function(){if (document.getElementById('sidebar-title').getAttribute('value') == gBrowser.selectedTab.label) { toggleSidebar(); } else if (/\.xul$/.test(gBrowser.currentURI.spec)) { toggleSidebar('viewWebPanelsSidebar', true); document.getElementById('sidebar').setAttribute('src', gBrowser.currentURI.spec); document.getElementById('sidebar-title').setAttribute('value', gBrowser.selectedTab.label); } else{ openWebPanel(gBrowser.selectedTab.label, gBrowser.currentURI.spec);}}}, 'LDRU':{name:'Notepad',cmd:function(){ var link="data:text/html;base64,PFRFWFRBUkVBPjwvVEVYVEFSRUE+DQo8c3R5bGU+aHRtbCB7YmFja2dyb3VuZC1jb2xvcjpibGFjaztvdmVyZmxvdzpoaWRkZW47fXRleHRhcmVhIHtiYWNrZ3JvdW5kOiMzODM4Mzg7b3ZlcmZsb3cteTphdXRvO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7LW1vei1ib3JkZXItcmFkaXVzOjVweDtib3JkZXI6IDVweCBpbnNldCB3aGl0ZTtjb2xvcjogd2hpdGU7fTwvc3R5bGU+"; var label="Notepad"; gBrowser.selectedTab = gBrowser.addTab(link);}}, 'LURDL':{name:'Open this page with Internet Explorer',cmd:function(){const IE_PATH = "C:\\Program Files\\Internet Explorer\\iexplore.exe"; var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile); file.initWithPath(IE_PATH); if (!file.exists()) { alert("File does not exist: " + IE_PATH); return;} var process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess); try { var args = [window.content.location.href]; process.init(file); process.run(false, args, args.length);} catch (ex) { alert("Failed to execute: " + IE_PATH);;}}}, 'LUR':{name:'Close Sidebar',cmd:function(){var sidebarBox = document.getElementById("sidebar-box"); if (!sidebarBox.hidden)toggleSidebar(sidebarBox.getAttribute("sidebarcommand"));}}, //'LUR':{name:'Bookmarks Manager',cmd:function(){PlacesCommandHook.showPlacesOrganizer('AllBookmarks');}}, //'ULRLR':{name:'Save page',cmd:function(){document.getElementById("Browser:SavePage").doCommand();}}, 'L>R':{name:'AntiBoss',cmd:function(){setTimeout(function() { window.minimize();return; }, 300);;}}, 'LUD':{name:'Bookmarks Manager in Tab',cmd:function(){const URL = "chrome://browser/content/places/places.xul"; const IN_NEW_TAB = true; const IN_BACKGROUND = false; if (IN_NEW_TAB) gBrowser.loadOneTab(URL, null, null, null, IN_BACKGROUND, false); else gBrowser.loadURI(URL);}}, 'ULR':{name:'Add Tab in Bookmarks folder',cmd:function(){var bmsvc = Components. classes ["@mozilla.org/browser/nav-bookmarks-service;1"]. getService (Components. interfaces. nsINavBookmarksService); var folderName = "add"; var rootFolder = bmsvc. toolbarFolder; var f = getChildFolder (rootFolder, folderName); if (!f){ bmsvc. createFolder (rootFolder, folderName, bmsvc. DEFAULT_INDEX); f = getChildFolder (rootFolder, folderName); } var br = gBrowser. getBrowserForTab (gBrowser. mCurrentTab); bmsvc. insertBookmark (f, br. webNavigation. currentURI, bmsvc. DEFAULT_INDEX, gBrowser. mCurrentTab. label); // var sebp = StarUI. showEditBookmarkPopup; //StarUI. showEditBookmarkPopup = function () {}; //PlacesCommandHook. bookmarkCurrentPage (false, f); //StarUI. showEditBookmarkPopup = sebp; function getChildFolder (parentId, title) {var res = null; try{ var hs = Cc ["@mozilla.org/browser/nav-history-service;1"]. getService (Ci. nsINavHistoryService); var options = hs. getNewQueryOptions (); options. excludeItems = true; var query = hs. getNewQuery (); query. setFolders ([parentId], 1); var result = hs. executeQuery (query, options); var rn = result. root; rn. containerOpen = true; var i, node; for (i = 0; i < rn. childCount; i++) { var node = rn. getChild (i); if (node. title == title){ res = node. itemId; break;}} rn. containerOpen = false; } catch (e) {} return res;} var cbTitle = "Bookmarks folder [add]"; // Title of the sliding alert var cbDesc = "Add Tab in Bookmarks folder"; // Instructions/Info to describe the event custombuttons.alertSlide(cbTitle, cbDesc);;}}, 'ULRL':{name:'Delete Bookmarks',cmd:function(){var folderName = "add"; var bmsvc = Components. classes ["@mozilla.org/browser/nav-bookmarks-service;1"]. getService (Components. interfaces. nsINavBookmarksService); var menuFolder = bmsvc. toolbarFolder; var f = bmsvc. getChildFolder (menuFolder, folderName); if (f != 0) bmsvc. removeFolderChildren (f) var cbTitle = "Bookmarks folder [add]"; // Title of the sliding alert var cbDesc = "Delete Bookmarks"; // Instructions/Info to describe the event custombuttons.alertSlide(cbTitle, cbDesc);;}}, 'URL':{name:'Add all Tabs in Bookmarks folder',cmd:function(){var bmsvc = Components. classes ["@mozilla.org/browser/nav-bookmarks-service;1"]. getService (Components. interfaces. nsINavBookmarksService); var folderName = "click"; var rootFolder = bmsvc. toolbarFolder; function getTabsURIs () { var tabList = []; var seenURIs = []; var br, webNav, uri; var tabs = getBrowser (). mTabs; for (var i = 0; i < tabs. length; ++i){ br = gBrowser. getBrowserForTab (tabs [i]); var webNav = br. webNavigation; uri = webNav. currentURI; if (uri. spec in seenURIs) continue; seenURIs [uri. spec] = true; LOG ("uri: " + uri + ", label = " + tabs [i]. label); tabList. push ({ uri: uri, label: tabs [i]. label });} return tabList;} var f = getChildFolder (rootFolder, folderName); if (!f){ bmsvc. createFolder (rootFolder, folderName, bmsvc. DEFAULT_INDEX); f = getChildFolder (rootFolder, folderName);} var uris = getTabsURIs (); var ios = Components. classes ["@mozilla.org/network/io-service;1"]. getService (Components. interfaces. nsIIOService); var uri; bmsvc. runInBatchMode({ runBatched: function (data){ for (var i = 0; i < uris. length; i++) bmsvc. insertBookmark (f, uris [i]. uri, bmsvc. DEFAULT_INDEX, uris [i]. label); var cbTitle = "Bookmarks folder [click]"; // Title of the sliding alert var cbDesc = "Add all Tabs in Bookmarks folder"; // Instructions/Info to describe the event custombuttons.alertSlide(cbTitle, cbDesc);}}, null); function getChildFolder (parentId, title){ var res = null; try{ var hs = Cc ["@mozilla.org/browser/nav-history-service;1"]. getService (Ci. nsINavHistoryService); var options = hs. getNewQueryOptions (); options. excludeItems = true; var query = hs. getNewQuery (); query. setFolders ([parentId], 1); var result = hs. executeQuery (query, options); var rn = result. root; rn. containerOpen = true; var i, node; for (i = 0; i < rn. childCount; i++){ var node = rn. getChild (i); if (node. title == title){ res = node. itemId; break;}} rn. containerOpen = false; } catch (e) {} return res;};}}, 'URLR':{name:'Delete Bookmarks folder ',cmd:function(){var bmsvc = Components. classes ["@mozilla.org/browser/nav-bookmarks-service;1"]. getService (Components. interfaces. nsINavBookmarksService); var folderName = "click"; var rootFolder = bmsvc. toolbarFolder; var bmsvc = Components. classes ["@mozilla.org/browser/nav-bookmarks-service;1"]. getService (Components. interfaces. nsINavBookmarksService); var f = getChildFolder (rootFolder, folderName); if (f) bmsvc. removeItem (f); function getChildFolder (parentId, title){ var res = null; try{ var hs = Cc ["@mozilla.org/browser/nav-history-service;1"]. getService (Ci. nsINavHistoryService); var options = hs. getNewQueryOptions (); options. excludeItems = true; var query = hs. getNewQuery (); query. setFolders ([parentId], 1); var result = hs. executeQuery (query, options); var rn = result. root; rn. containerOpen = true; var i, node; for (i = 0; i < rn. childCount; i++){ var node = rn. getChild (i); if (node. title == title){ res = node. itemId; break;}} rn. containerOpen = false;} catch (e) {} return res;} var cbTitle = "Bookmarks folder [click]"; // Title of the sliding alert var cbDesc = "Delete Bookmarks folder"; // Instructions/Info to describe the event custombuttons.alertSlide(cbTitle, cbDesc); ;}}, 'LDU':{name:'Open Add-on Manager',cmd:function(){BrowserOpenAddonsMgr();}}, 'LD':{name:'Extensions Tab',cmd:function(){const URL = "chrome://mozapps/content/extensions/extensions.xul"; const IN_NEW_TAB = true; const IN_BACKGROUND = false; if (IN_NEW_TAB) gBrowser.loadOneTab(URL, null, null, null, IN_BACKGROUND, false); else gBrowser.loadURI(URL);}}, 'LU':{name:'Bookmarks Tab',cmd:function(){ var newTab = document.getElementById("content").addTab("chrome://browser/content/bookmarks/bookmarksPanel.xul"); getBrowser (). selectedTab = newTab;}}, 'UL':{name:'Open file',cmd:function(){BrowserOpenFileWindow();}}, 'ULRLR':{name:'Open folder',cmd:function(){setTimeout(function(aEvent) { var nsIFilePicker = Components.interfaces.nsIFilePicker; var dp = Components.classes["@mozilla.org/filepicker;1"] .createInstance(nsIFilePicker); dp.init(window, "", dp.modeGetFolder); if(dp.show() == dp.returnCancel) return; openUILink(dp.fileURL.spec, aEvent, false, true); }, 0);;}}, 'DRLR':{name:'close all tabs on right',cmd:function(){var aTab = getBrowser().mCurrentTab; var tabPos = aTab._tPos; var childNodes = getBrowser().mTabContainer.childNodes; if (tabPos < childNodes.length - 1) { for (var i = childNodes.length - 1; i >= tabPos; --i) { if (childNodes[i] != aTab) getBrowser().removeTab(childNodes[i]);}}}}, 'DLRL':{name:'close all tabs on left',cmd:function(){var aTab = getBrowser().mCurrentTab; var tabPos = aTab._tPos; var childNodes = getBrowser().mTabContainer.childNodes; if (tabPos > 0) { for (var i = tabPos; i >= 0; --i) { if (childNodes[i] != aTab) getBrowser().removeTab(childNodes[i]);}}}}, 'DRL':{name:'Open last Tab',cmd:function(){var lastTab = gBrowser.mTabs[gBrowser.mTabs.length - 1]; gBrowser.selectedTab = lastTab;}}, 'DLR':{name:'Open first Tab',cmd:function(){gBrowser.selectedTab = gBrowser.mTabContainer.childNodes[0];}}, 'DR':{name:'Page Right',cmd:function(){content.scrollTo(content.scrollMaxX, content.scrollY);;}}, 'DL':{name:'Page Left',cmd:function(){content.scrollTo(0, content.scrollY);;}}, 'LDRL':{name:'Show cookies',cmd:function(){window.open('chrome://browser/content/preferences/cookies.xul', 'Browser:Cookies', 'chrome,resizable=yes');;}}, 'LDR':{name:'Menege cookies',cmd:function(){var bundle = Components.classes["@mozilla.org/intl/stringbundle;1"] .getService(Components.interfaces.nsIStringBundleService) .createBundle("chrome://browser/locale/preferences/preferences.properties"); var host = ""; if(["view-source:", "about:", "chrome:", "resource:", "javascript:", "data:"].indexOf(content.location.protocol) == -1) try { host = content.location.host; } catch(e) {} var params = { blockVisible : true, sessionVisible : true, allowVisible : true, prefilledHost : host, permissionType : "cookie", windowTitle : bundle.GetStringFromName("cookiepermissionstitle"), introText : bundle.GetStringFromName("cookiepermissionstext") }; var win = Components.classes["@mozilla.org/appshell/window-mediator;1"] .getService(Components.interfaces.nsIWindowMediator) .getMostRecentWindow("Browser:Permissions"); if(win) win.focus(); else window.openDialog("chrome://browser/content/preferences/permissions.xul", "_blank", "", params);}}, 'URD':{name:'Show / Hide navigator-toolbox',cmd:function(){ var a = document.getElementById("nav-bar"); a.collapsed = !a.collapsed;}}, 'LR':{name:'Translate',cmd:function(){var t = content.getSelection().toString(); if(t) {gBrowser.selectedTab = gBrowser.addTab("http://translate.google.com/translate_t?hl=ru#auto|ru|"+t);} else { gBrowser.loadURI("http://translate.google.com/translate?u="+content.location+"&hl=ru&ie=UTF-8&sl=auto&tl=ru");};}}, 'RL':{name:'Translate selected /page in new tab',cmd:function(){const UJS_TOOLBAR_ID = "ujs_toolbar"; const UJS_GOOGLE_TRANSLATE_FRAME_ID = "ujs_googletranslateframe"; function cbTranslatorButton (browser) { this. doc = browser. contentDocument; this. win = browser. contentDocument. defaultView;} cbTranslatorButton. prototype = { doc: null, win: null, toolbar: null, clse: null, frame: null, grabX: 0, origX: 0, grabY: 0, origY: 0, handleEvent: function (event) {switch (event. type) { case "mousedown": this. tbOnMouseDown (event); break; case "mousemove": this. tbOnMouseMove (event); break; case "mouseup": this. tbOnMouseUp (event); break; case "click": this. clseOnClick (event); break; case "load": this. frameOnLoad (event); break; default:; }}, tbOnMouseMove: function (event) {this. toolbar. style. left = this. origX + event. clientX - this. grabX + 'px'; this. toolbar. style. top = this. origY + event. clientY - this. grabY + 'px';}, tbOnMouseUp: function (event){ this. doc. removeEventListener ('mousemove', this, false); this. toolbar. style. zIndex = 9997;}, tbOnMouseDown: function (event) { if (event. target == this. toolbar){ event. preventDefault (); this. toolbar. style. zIndex = 9998; this. grabX = event. clientX; this. grabY = event. clientY; this. origX = parseInt (this. toolbar. style. left); this. origY = parseInt (this. toolbar. style. top); this. doc. addEventListener ('mousemove', this, false); this. doc. addEventListener ('mouseup', this, false);}}, removeEventListener: function (element, eventType, captureFlag) { try {element. removeEventListener (eventType, this, captureFlag);} catch (err) {}}, removeElement: function (element){ try{element. parentNode. removeChild (element); } catch (err) {}}, clseOnClick: function (event){ this. clse. removeEventListener ('click', this, false); this. removeEventListener (this. toolbar, 'mousedown', false); this. removeEventListener (this. doc, 'mousemove', false); this. removeEventListener (this. doc, 'mouseup', false); this. removeEventListener (this. frame, 'load', false); this. removeElement (this. toolbar); this. removeElement (this. frame); this. frame = null; this. clse = null; this. toolbar = null; this. win = null; this. doc = null;}, ujs_createWindow: function (txt){ var doc = this. doc; var win = this. win; var h, w; var txtLen = txt. length; var tbId = UJS_TOOLBAR_ID; if (arguments. length > 2) tbId += arguments [2]; var toolbar = doc. getElementById (tbId); if (toolbar) toolbar. parentNode. removeChild (toolbar); toolbar = doc. createElement ('div'); this. toolbar = toolbar; toolbar. id = tbId; if (arguments. length == 5) { w = arguments [3]; h = arguments [4]} else{ h = 15; w = 20; if (txtLen > 2000){ h = 50; w = 66} else if (txtLen > 250){ h = 25; w = 35 }; h = parseInt (h * win. innerHeight / 30); w = parseInt (w * win. innerWidth / 50) }; var title = (arguments. length > 1) ?arguments [1]: '<a href="http://translate.google.com/" target="_blank" style="text-decoration:none;color:#000099;font:16px Times New Roman;">Google Translate</a>'; toolbar. innerHTML = '<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAABh0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjIyt5EXfQAAAStJREFUOE+1k9tqhDAQhtOHqO37P4E3IlQFQQSvBBVEl1TBVVi1B+1C8XAx3QmNqIVqhBV+DEPmy8z8ycPX9Ruq6kLqqiRHvkfpiUjSMyGUJtB1HfR9D8MwCAlz6voNkEGCIGDJeZ5DURTCatoWNE0D4nk+jOMoDMBD8fDPpoGXu4OyLAPUutV1/N+KcPPNPaY4jidYktwG+hunlLL4ZmsI4EloxhxiGAY4jgNpmm6D8DQEcBj/I8SyrKnSzYr4bDzPm2CKoiwgu1rDTfN2eEWu6y4M2KxoPRNVVRcz4xXvdm0+k/nMwjDc5xraa9v2n5kgwDRNMdfQXtT6Us7jy9Z8n738Iw82O5/hUpag6zqQ0+kVmqZld0NUURSxl48M8v5xZQtZlg8Jc5HxA5fIE73hTda3AAAAAElFTkSuQmCC" title="Close" width="18" height="18"> ' + title + '<div></div>'; toolbar. setAttribute('style', 'position:fixed;background:white;display:block;visibility:hidden;left:0;top:0;height:auto;width:' + w + 'px;font:16px Times New Roman;border:1px solid gray;padding:3px;z-index:9997;overflow:visible;cursor:move;'); toolbar. addEventListener ('mousedown', this, false); var clse = toolbar. firstChild; this. clse = clse; clse. setAttribute ('style', 'float:right;background:white;padding:0;margin:0;border:none;cursor:pointer;'); clse. addEventListener ('click', this, false); var textbar = toolbar. lastChild; textbar. innerHTML = txt; textbar. setAttribute ('style', 'display:block;border:1px solid #aaaaaa;margin:2px 0 0 0;padding:4px;background-color:#fafcfe;font:14px Times New Roman;height:' + h + 'px;width:auto;overflow:auto;cursor:text;'); doc. documentElement. appendChild (toolbar); var halfWidth = parseInt (toolbar. offsetWidth / 2); var strict = doc. compatMode == 'CSS1Compat'; var mX = (strict? doc. documentElement. clientWidth: doc. body. clientWidth) - toolbar. offsetWidth; var mY = (strict? doc. documentElement. clientHeight: doc. body. clientHeight) - toolbar. offsetHeight; var lastClickX = win. cbTranslateButton2X; var lastClickY = win. cbTranslateButton2Y; toolbar. style. left = ((lastClickX < mX + halfWidth)? (lastClickX > halfWidth? (lastClickX - halfWidth): 0): mX) + "px"; toolbar. style. top = ((lastClickY < mY)? lastClickY: mY) + "px"; toolbar. style. visibility = 'visible'; return textbar;}, frameOnLoad: function (event){ var fr = event. currentTarget; fr. removeEventListener ('load', this, false); var tbId = fr. id. substring (UJS_GOOGLE_TRANSLATE_FRAME_ID. length); var toolbar = this. doc. getElementById (UJS_TOOLBAR_ID + tbId); var frdoc = fr. contentDocument; var a = frdoc. getElementById ('autotrans'); var title = (a && !/#808080/. test (a. innerHTML))? ' - ' + a. textContent. replace (/^.+: | [(\xBB].+$/g, ''): ''; var result = frdoc. getElementById ('result_box'). innerHTML; var ancor = toolbar. getElementsByTagName ("a") [0]; ancor. innerHTML += title; ancor. nextSibling. innerHTML = result; setTimeout( function (){ fr. parentNode. removeChild (fr);}, 0 );}, google_translate: function (language){ var doc = this. doc; var win = this. win; var t = document. commandDispatcher. focusedWindow. getSelection (). toString (); var lng = (win. navigator. language == 'ru')? 'ru': 'en'; if (t && location. hostname != 'translate.google.com') { this. ujs_createWindow ( (lng == 'ru'? '\u041F\u0435\u0440\u0435\u0432\u043E\u0434\u0438\u043C': 'Translating' ) + '\u2026', '<a href="http://translate.google.com/" target="_blank" style="text-decoration:none;color:#000099;font:16px Times New Roman;">Google Translate</a>', btoa (escape (t)) ); var gtfId = UJS_GOOGLE_TRANSLATE_FRAME_ID; var fr = doc. getElementById (gtfId); if (!fr) fr = doc. createElement ('iframe'); this. frame = fr; fr. setAttribute ('id', gtfId + btoa (escape (t))); fr. setAttribute ('frameborder', '0'); fr. setAttribute ('style', 'width:0px;height:0px;visibility:hidden;position:absolute;left:-999em;'); fr. setAttribute ( 'src', 'http://translate.google.com/translate_t?text=' + encodeURIComponent (t) + '&hl=' + lng + '&langpair=' + language + '&tbb=1&ujs=gtt' ); fr. addEventListener ('load', this, false); doc. documentElement. appendChild (fr); } else { getBrowser (). addTab ( 'http://translate.google.com/translate?u=' + escape (doc. location. href) + '&hl=' + lng + '&langpair=' + language + '&tbb=1' + (doc. charset? '&ie=' + doc. charset: ''), null, null ); } } }; var ct = getBrowser (). selectedTab; if (!ct. cbTranslateButton5) ct. cbTranslateButton5 = []; var translator = new cbTranslatorButton (getBrowser ()); ct. cbTranslateButton5. push (translator); translator. google_translate ("auto|ru");;}}, 'LRL':{name:'Open URL from Clipboard',cmd:function(){const IN_NEW_TAB = true; const IN_BACKGROUND = false; var str = readFromClipboard(); if (!str) return; if (IN_NEW_TAB) gBrowser.loadOneTab(str, null, null, null, IN_BACKGROUND, false); else gBrowser.loadURI(str);}}, 'LRLR':{name:'Open selected links',cmd:function(){warn_if_opening_more_than = 16; var browser = getBrowser(); var n_to_open,dl,dll,i; function linkIsSafe(u) { if (u.substr(0,7)=='mailto:' ) return false; if (u.substr(0,11)=='javascript:') return false; return true;} n_to_open = 0; dl = window._content.document.links; dll = dl.length; if (window._content.getSelection && window._content.getSelection().containsNode) { for(i=0; i<dll; ++i) { if (window._content.getSelection().containsNode(dl[i], true) && linkIsSafe(dl[i].href)) { ++n_to_open;} } if (n_to_open && (n_to_open<=warn_if_opening_more_than || confirm('Open ' + n_to_open + ' selected links in new windows?'))) { for(i=0; i<dll; ++i) { if (window._content.getSelection().containsNode(dl[i], true) && linkIsSafe(dl[i].href)) { browser.addTab(dl[i].href);}}}} if (!n_to_open) { /* if no links selected, open all links */ for(i = 0; i < dll; ++i) { if (linkIsSafe(dl[i].href)) ++n_to_open; } if (!n_to_open) alert ('no links'); else { if (confirm('No links selected. Open ' + n_to_open + ' links in new windows?')) { for (i = 0; i < dll; ++i) { if (linkIsSafe(dl[i].href)) { browser.addTab(dl[i].href);}}}}};}}, 'RLR':{name:'Clipboard search(current engine)',cmd:function(){var str = readFromClipboard(); var ss = Cc["@mozilla.org/browser/search-service;1"].getService(Ci.nsIBrowserSearchService); var submission = ss.currentEngine.getSubmission(str, null); gBrowser.loadOneTab(submission.uri.spec, null, null, submission.postData, true, false);}}, 'UDUD':{name:'Stop Loading All Tabs',cmd:function(){var len = gBrowser.mPanelContainer.childNodes.length; for (var i = 0; i < len; i++) { gBrowser.getBrowserAtIndex(i).stop();}}}, 'URLRL':{name:'Save website favicons',cmd:function(){this.image=document.getElementById("page-proxy-favicon").src; openUILinkIn(this.image,"save");}}, }, init:function(){ var self=this; var events=["mousedown","mousemove","mouseup","contextmenu"]; if(this.enableRockerGestures)events.push("draggesture"); if(this.enableWheelGestures)events.push("DOMMouseScroll"); function registerEvents(aAction,eventArray){ eventArray.forEach(function(aType){ getBrowser().mPanelContainer[aAction+"EventListener"](aType,self,aType=="contextmenu"); }); }; registerEvents("add",events); window.addEventListener("unload",function(){ registerEvents("remove",events); },false); }, handleEvent:function(event){ switch(event.type){ case"mousedown": if(event.button==2){ this._isMouseDownR=true; this._hideFireContext=false; this._startGesture(event); } if(this.enableRockerGestures){ if(event.button==2&&this._isMouseDownL){ this._isMouseDownR=false; this._shouldFireContext=false; this._hideFireContext=true; this._directionChain="L>R"; this._stopGesture(event); }else if(event.button==0){ this._isMouseDownL=true; if(this._isMouseDownR){ this._isMouseDownL=false; this._shouldFireContext=false; this._hideFireContext=true; this._directionChain="L<R"; this._stopGesture(event); } } } break; case"mousemove": if(this._isMouseDownR){ this._hideFireContext=true; this._progressGesture(event); } break; case"mouseup": if(event.ctrlKey&&event.button==2){ this._isMouseDownL=false; this._isMouseDownR=false; this._shouldFireContext=false; this._hideFireContext=false; this._directionChain=''; event.preventDefault(); XULBrowserWindow.statusTextField.label="Reset Gesture"; break; } if(this._isMouseDownR&&event.button==2){ if(this._directionChain)this._shouldFireContext=false; this._isMouseDownR=false; this._stopGesture(event); if(this._shouldFireContext&&!this._hideFireContext){ this._shouldFireContext=false; this._displayContextMenu(event); } }else if(this.enableRockerGestures&&event.button==0&&this._isMouseDownL){ this._isMouseDownL=false; this._shouldFireContext=false; }else if(this.enablePopupGestures&&(event.button==0||event.button==1)&&event.target.localName=='menuitem'){ this._isMouseDownL=false; this._shouldFireContext=false; var popup=document.getElementById(this.POPUP_ID); var activeItem=event.target; switch(popup.getAttribute("gesturecommand")){ case"WebSearchPopup": var selText=popup.getAttribute("selectedtext"); var engine=activeItem.engine; if(!engine)break; var submission=engine.getSubmission(selText,null); if(!submission)break; document.getElementById('searchbar').textbox.value=selText; gBrowser.loadOneTab(submission.uri.spec,null,null,submission.postData,null,false); break; case"ClosedTabsPopup": undoCloseTab(activeItem.index); break; case"HistoryPopup": gBrowser.webNavigation.gotoIndex(activeItem.index); break; case"AllTabsPopup": gBrowser.selectedTab=gBrowser.mTabs[activeItem.index]; break; } popup.hidePopup(); } break; case"popuphiding": var popup=document.getElementById(this.POPUP_ID); popup.removeEventListener("popuphiding",this,true); document.documentElement.removeEventListener("mouseup",this,true); while(popup.hasChildNodes())popup.removeChild(popup.lastChild); break; case"contextmenu": if(this._isMouseDownL||this._isMouseDownR||this._hideFireContext){ event.preventDefault(); event.stopPropagation(); this._shouldFireContext=true; this._hideFireContext=false; } break; case"DOMMouseScroll": if(this.enableWheelGestures&&this._isMouseDownR){ event.preventDefault(); event.stopPropagation(); this._shouldFireContext=false; this._hideFireContext=true; this._directionChain="W"+(event.detail>0?"+":"-"); this._stopGesture(event); } break; case"draggesture": this._isMouseDownL=false; break; } }, _displayContextMenu:function(event){ var evt=event.originalTarget.ownerDocument.createEvent("MouseEvents"); evt.initMouseEvent("contextmenu",true,true,event.originalTarget.defaultView,0,event.screenX,event.screenY,event.clientX,event.clientY,false,false,false,false,2,null); event.originalTarget.dispatchEvent(evt); }, _startGesture:function(event){ this._lastX=event.screenX; this._lastY=event.screenY; this._directionChain=""; }, _progressGesture:function(event){ var x=event.screenX, y=event.screenY; var lastX=this._lastX, lastY=this._lastY; var subX=x-lastX, subY=y-lastY; var distX=(subX>0?subX:(-subX)),distY=(subY>0?subY:(-subY)); var direction; if(distX<10&&distY<10)return; if(distX>distY)direction=subX<0?"L":"R"; else direction=subY<0?"U":"D"; var dChain = this._directionChain; if(direction!=dChain.charAt(dChain.length-1)){ dChain+=direction; this._directionChain+=direction; var gesture=this.GESTURES[dChain]; XULBrowserWindow.statusTextField.label="Gesture: "+dChain+(gesture?' ('+gesture.name+')':''); } this._lastX=x; this._lastY=y; }, _stopGesture:function(event){ try{ if(dChain=this._directionChain)this.GESTURES[dChain].cmd(this,event); XULBrowserWindow.statusTextField.label=""; }catch(e){ XULBrowserWindow.statusTextField.label='Unknown Gesture: '+dChain; } this._directionChain=""; }, _buildPopup:function(event,gestureCmd){ if(!this.enablePopupGestures)return; var popup=document.getElementById(this.POPUP_ID); if(!popup){ popup=document.createElement("popup"); popup.id=this.POPUP_ID; } document.getElementById("mainPopupSet").appendChild(popup); popup.setAttribute("gesturecommand",gestureCmd); switch(gestureCmd){ case"WebSearchPopup": var searchSvc=Cc["@mozilla.org/browser/search-service;1"].getService(Ci.nsIBrowserSearchService); var engines=searchSvc.getVisibleEngines({}); if(engines.length<1)throw"No search engines installed."; for(var i=engines.length-1;i>=0;--i){ var engine = engines[i]; var menuitem=document.createElement("menuitem"); menuitem.setAttribute("label",engine.name); menuitem.setAttribute("class","menuitem-iconic"); if(engine.iconURI)menuitem.setAttribute("src",engine.iconURI.spec); popup.insertBefore(menuitem,popup.firstChild); menuitem.engine=engine; } popup.setAttribute("selectedtext",getBrowserSelection().toString()); break; case"ClosedTabsPopup": try{ if(!gPrefService.getBoolPref("browser.sessionstore.enabled"))throw"Session Restore feature is disabled."; }catch(e){} var ss=Cc["@mozilla.org/browser/sessionstore;1"].getService(Ci.nsISessionStore); if(ss.getClosedTabCount(window)==0)throw"No restorable tabs in this window."; var undoItems=eval("("+ss.getClosedTabData(window)+")"); for(var i=0,LEN=undoItems.length;i<LEN;i++){ var menuitem=popup.appendChild(document.createElement("menuitem")); menuitem.setAttribute("label",undoItems[i].title); menuitem.setAttribute("class","menuitem-iconic bookmark-item"); menuitem.index=i; var iconURL=undoItems[i].image; if(iconURL)menuitem.setAttribute("image",iconURL); } break; case"HistoryPopup": var sessionHistory=gBrowser.webNavigation.sessionHistory; if(sessionHistory.count<1)throw"No back/forward history for this tab."; var curIdx=sessionHistory.index; for(var i=0,shc=sessionHistory.count;i<shc;i++){ var entry=sessionHistory.getEntryAtIndex(i,false); if(!entry)continue; var menuitem=document.createElement("menuitem"); popup.insertBefore(menuitem,popup.firstChild); menuitem.setAttribute("label",entry.title); try{ var iconURL=Cc["@mozilla.org/browser/favicon-service;1"].getService(Ci.nsIFaviconService).getFaviconForPage(entry.URI).spec; menuitem.style.listStyleImage="url("+iconURL+")"; }catch(e){} menuitem.index=i; if(i==curIdx){ menuitem.style.listStyleImage=""; menuitem.setAttribute("type","radio"); menuitem.setAttribute("checked","true"); menuitem.className="unified-nav-current"; activeItem=menuitem; }else{ menuitem.className=i<curIdx?"unified-nav-back menuitem-iconic":"unified-nav-forward menuitem-iconic"; } } break; case"AllTabsPopup": var tabs=gBrowser.mTabs; if(tabs.length<1)return; for(var i=0,LEN=tabs.length;i<LEN;i++){ var menuitem=popup.appendChild(document.createElement("menuitem")); var tab=tabs[i]; menuitem.setAttribute("class","menuitem-iconic bookmark-item"); menuitem.setAttribute("label",tab.label); menuitem.setAttribute("crop",tab.getAttribute("crop")); menuitem.setAttribute("image",tab.getAttribute("image")); menuitem.index=i; if(tab.selected)activeItem=menuitem; } break; } document.popupNode=null; document.tooltipNode=null; popup.addEventListener("popuphiding",this,true); popup.openPopup(null,"",event.clientX,event.clientY,false,false); document.documentElement.addEventListener("mouseup",this,true); }, }; ucjsMouseGestures.init();
Добавлено 30-08-2011 21:15:49
мне понравилось твое творение, но есть у меня свои задумки для подобной сборки для маломощного ноутбука и не только. Подскажи, пожалуйста, как правильно "переоформить" свой обычный инсталируемый настроенный Фаерфокс в подобную портабле сборку.
берешь мою сборку
1.удаляешь папку Firefox и заменяешь на папку Firefox из своей сборки..
2. удаляешь все из папки Profile и копируешь туда все из профиля своей сборки.
О профилях Firefox | Mozilla Россия
Отредактировано bunda1 (31-08-2011 22:57:02)
Отсутствует
bunda1
А вы не порадуете сборкой посвежее той, что в подписи?
если Firefox 3.6.24 lite, то завтра.
если Firefox 8 lite, то не знаю, я работаю над этим но дела идут медленно.
Отсутствует
в общем посмотрел сборку
В целом интересная,спасибо автору за работу.
наверно буду юзать,если скажут где и как поменять все цвета на по-умолчанию в FF
1)
lite \mini конечно сложно назвать при весе 100мб
2)
кнопка back на клавиатуре - неработает ,непонятно как вернуться на предыдущую страничку,даже мышкой,такой кнопки нету.
3)
Все кнопки, на которых рабочая средняя кнопка- работать небудут, у владельцев geniuse мышек.
4)
кнопка URL просто вставляет кавычки тега,без оформления выделенного текста под ссылку в буфере обмена и не предлагает самому вставить URL устаревшая по функционалу кнопка в общем.
5)
Для кнопки IMG то же самое-чисто теги
6)
Цвет стиля - на редкого любителя,его сразу хочется сменить.
7)
по двойному клику на слове,выделяет не слово,а сразу весь текст,это как бы мягко очень говоря не совсем удобно ))
.......................
Цвета стиля как поменять ?
я от них утомляюсь и раздражаюсь ..
Отредактировано selevo (29-03-2012 20:59:45)
Отсутствует
кнопка back на клавиатуре - неработает ,непонятно как вернуться на предыдущую страничку,даже мышкой,такой кнопки нету.
Сборка управляется жестами мыши:
L - налево;
R- направо;
U - верх;
D - вниз;
W - колесико мыши.
'L'-History Back(назад)
кнопка URL просто вставляет кавычки тега,без оформления выделенного текста под ссылку в буфере обмена и не предлагает самому вставить URL устаревшая по функционалу кнопка в общем.
Для кнопки IMG то же самое-чисто теги
оформления выделенного текста под ссылку в буфере обмена - СКМ на кнопках.
Цвета стиля как поменять ?
я от них утомляюсь и раздражаюсь ..
Это трудно, надо изменить файл - \Profile\chrome\userChrome (нижняя кнопка на боковой панели). Можно его вообще удалить или везде в userChrome заменить в коде #cfdad7 на другой цвет, открыть кнопку Toggle Chrome(крайняя правая кнопка на верхнем панели панели) и там тоже заменить #cfdad7
по двойному клику на слове,выделяет не слово,а сразу весь текст,это как бы мягко очень говоря не совсем удобно ))
надо открыть на боковой панели кнопку Preferences и удалить
//dblclick Select All........................................ var disabled = [ "http://www.translit.ru/keyboard/", "chrome://browser/content/bookmarks/bookmarksPanel.xul", "chrome://browser/content/places/places.xul" ]; gBrowser.addEventListener("dblclick", function(event) { if (event.button != 0) { return; } if (disabled.indexOf(content.location.href) != -1) return; event.preventDefault(); document.getElementById("contentAreaContextMenu").hidePopup(); document.getElementById("cmd_selectAll").doCommand(); }, false);
Но лучше сделай свою сборку, моя слишком оригинальна и к тому же устарела.
Отредактировано bunda1 (29-03-2012 21:45:54)
Отсутствует
Пандёнок
автор где-то писал что стиль менять нельзя,какой-то он специальный
bunda1
а для чего было back -то отключать ?
да , эта сборка больше для одного человека с ноутбуком ))
яб конечно сделал свою сборку...
может ближе к пенсии научусь.
проще вашу допилить для начала
а как вернуть back правильный ?
Отредактировано selevo (30-03-2012 00:07:43)
Отсутствует
AnVir - AnVir Task Manager AnVir Task Manager, это бесплатная системная утилита, которая позволяет контролировать все, что запущено на компьютере, а также предоставляет удобные инструменты для настройки компьютера.Управление автозагрузкой, запущенными процессами, сервисами и драйверами и замена Диспетчера Задач.Обнаружение и удаление вирусов и spyware.Тонкая настройка XP, Vista и Windows 7, включая установку скрытых настроек.Ускорение загрузки Windows и работы компьютера.Настроен - раз в 1 минуту освобождает память процессов использующих больше 80 МБ памяти. Увеличивает приоритет FF,уменьшает приоритет некоторых системных процессов,FF будет работать быстрее и меньше загружает память.
Я всегда с огромным подозрением отношусь к такого рода программам. Особенно к тем, которые именуют себя антивирусами. Особенно, когда на официальном сайте висит надпись "скачать беслпатно". Особенно к тем, описание которых на Википедии присутствует только на одном языке. Вышеуказанная программа вообще выглядит странно. Если это действительно серьезный продукт, то какого черта, скажите мне в него добавлять следующий функционал (пруф):
Значки Vista на Windows XP
Значки жёстких дисков Windows XP заменяются на значки в стиле Vista.
Еще один проект от авторов программы: http://www.obnovi-soft.ru/.
Это очень стремно.
При этом для данных целей есть программы от Microsoft, в частности Process Explorer и AutoRuns.
Отсутствует
а для чего было back -то отключать ?
back работает но запускаетса жестом мыши 'L'-History Back(назад).
а как вернуть back правильный ?
что значит back правильный?
Добавлено 30-03-2012 01:06:45
Я всегда с огромным подозрением отношусь к такого рода программам....
AnVir хорошая программа.
Отредактировано bunda1 (30-03-2012 01:06:45)
Отсутствует
Еще один проект от авторов программы: http://www.obnovi-soft.ru/.
Это не от автора AnVir.
Лол. Походил по форуму AnVir'а и обнаружил, что показ рекламы в проге можно отключить. А я для этого AnVir.exe патчил
Отредактировано adidharma (30-03-2012 05:33:23)
pcxFirefox - лучшая сборка Лисы!
Отсутствует
Если это действительно серьезный продукт, то [зачем], скажите мне в него добавлять следующий функционал (пруф):
Серьёзный. А такого функционала я почему-то не нашёл. И чем плохо:
На этих значках графически показан объём свободного места на дисках.
Отредактировано Пандёнок (30-03-2012 07:12:53)
Отсутствует
Лол. Походил по форуму AnVir'а и обнаружил, что показ рекламы в проге можно отключить. А я для этого AnVir.exe патчил
adidharma
Что-то не замечал чтобы он рекламу показывал
Отредактировано Крошка Ру (30-03-2012 07:16:06)
Отсутствует
Я всегда с огромным подозрением отношусь к такого рода программам. Особенно к тем, которые именуют себя антивирусами.
Пруфлинк где?
AnVir Task Manager - это бесплатная программа, которая удаляет вирусы, ускоряет компьютер и позволяет управлять всем, что происходит на компьютере
Так и есть. Там не написано «защищает от вирусов».
Отсутствует
Что-то не замечал чтобы он рекламу показывал
Так вот же она:
И еще приятный момент в последней версии AnVir'а - пункты меню, относящиеся к Reg Organizer, не показываются (если Reg Organizer не установлен, и из папки AnVir'а удален файл ROIntegration.dll). Теперь можно exeшник не корежить, как раньше
Отредактировано adidharma (30-03-2012 08:28:57)
pcxFirefox - лучшая сборка Лисы!
Отсутствует
Так вот же она:
adidharma А, ну да - эту видел .... просто забыл - редко разворачиваю полное окно
.... подумал о такой рекламе когда картинки прыгают-мельтешат , как в некоторых программах
Отредактировано Крошка Ру (30-03-2012 09:19:51)
Отсутствует
Я от таких давно избавился.
Пандёнок У меня тоже нет таких
Это в каких программах?
ну по старой памяти , например было в ICQ , Opera , в некоторых менеджерах загрузок (Xunlei пожалуй самый яркий пример ) ... сейчас конечно подобное безобразие встречается значительно реже, по крайней мере мне почти не попадается
Отредактировано Крошка Ру (30-03-2012 09:32:29)
Отсутствует
> Это не от автора AnVir.
На сайте http://www.anvir.net/ эта ссылка дана в разделе "Наши проекты". Ну в данном случае может параноеметр мой дал сбой, но в любом случае ставить такого рода ПО стоит с осторожностью.
Отсутствует
На сайте http://www.anvir.net/ эта ссылка дана в разделе "Наши проекты".
Автор просто пытается заработать таким способом Сам он этот мусор, на который ссылки выкладывает, не делает. Скачал посмотреть этот "obnovi-soft.ru", и не удивился, обнаружив в инсталляторе спутник меилсру
Вот и на моем скрине выше какой-то супер-оптимизатор компьютера/крякер интернета предлагается. Думаю, там тоже ничего хорошего нет
pcxFirefox - лучшая сборка Лисы!
Отсутствует
> Автор просто пытается заработать таким способом Сам он этот мусор, на который ссылки выкладывает, не делает. Скачал посмотреть этот "obnovi-soft.ru", и не удивился, обнаружив в инсталляторе спутник меилсру
Вот и возникает вопрос, что если он выкладывает на своем сайте ссылку на программу с спутником от м.ру (тут пару слов ненависти в сторону онной компании), то где гарантии, что завтра он не вставит тот же спутник в свой установщик? Хотя на самом деле удобно, поставил тулу, вместе с ней же спутник, а потом тулой его выпили
Отредактировано Hate Forest (30-03-2012 13:48:01)
Отсутствует