При попытке закрыть некоторые вкладки у меня появляется окно:
58fc9cb46f30d4641658a9aab4a3bf43.png
При этом, если нажать на "Уйти со страницы", изменения на странице не сохраняются. Как можно отключить это окно, чтобы оно не появлялось? Желательно без установки каких-либо расширений!

Это не от ФФ зависит. Это скрипты на странице. Собственно вас и спрашивают "уверены-ли вы что хотите уйти не сохранив введенное?". Скриптом-же и спрашивают :)

shumomer
Хм, а в [chrome] такого нету. Как от этого можно избавится? Ужасно мешает нормально работать!

ser8nik
Поставьте себе noScript

Увы - скорее всего только переделкой скриптов на сайте. Возможно они просто не опознают ФФ4 и блокируют часть активного содержимого? Дайте пример.

Tiger.711
А без noScript-а нельзя отключить? Можно как-нибудь adblock-ом или css-стили в stylish?

ser8nik
AdBlock я использую в автоматическом режиме, посему не очень понимаю его настройки. Если не хотите, можете попробовать YesScript, он работает наоборот - всё разрешает, а блеклист запрещает.

Нет, noscript и yesscript не вариант. Они, как я понял, полностью вырубают все скрипты, а мне нужно вырубить одно только это чертово окошко.

26-03-2011 19:27:45

shumomer пишет

Дайте пример.

Например здесь: http://webagent.mail.ru/webagent
Еще оно появляется при настройке главной страницы яндекса

ser8nik
Они могут вырубить какой-то конекретный скрипт, который Вы им пропишите и не тронуть остальные.

ser8nik пишет

Например здесь: http://webagent.mail.ru/webagent

Ну вообще-то тут этот вопрос задается и под ФФ3 и под ФФ4 и под ИЕ. Под хромом нет только потому, что скрипты не знают что это за браузер и вырубают некоторую часть функционала. Т.ч. для его убирания - обращайтесь в mail.ru

ser8nik
Наверняка можно заблокировать скрипт через Adblock, спросите в теме "Фильтры для расширения Adblock Plus"

Мне тоже нужно такое окно убрать из одного сайта, я думаю что это из-за того, что скрипты сайта задают событие window.onbeforeunload https://developer.mozilla.org/en/DOM/wi … foreunload.

Из расширения пытаюсь изменить это событие таким кодом:

Выделить код

Код:

var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]  
                     .getService(Components.interfaces.nsIWindowMediator);  
  var browserEnumerator = wm.getEnumerator("navigator:browser");  
  
  // Check each browser instance for our URL  
  var found = false;  
  while (!found && browserEnumerator.hasMoreElements()) {  
    var browserWin = browserEnumerator.getNext();  
    var tabbrowser = browserWin.gBrowser;  
  
    // Check each tab of this browser instance  
    var numTabs = tabbrowser.browsers.length;  
    for (var index = 0; index < numTabs; index++) {  
      var currentBrowser = tabbrowser.getBrowserAtIndex(index);  
      if (url == currentBrowser.currentURI.spec) {  // Нахожу сайт по ЮРЛ
  
        // The URL is already opened. Select this tab.  
        tabbrowser.selectedTab = tabbrowser.tabContainer.childNodes[index];  
  
       try
            {
            tabbrowser.selectedTab.contentWindow.onbeforeunload = function(e) { alert('OK'); }
            }
            catch(ex)
            {
              alert(ex);
            }
  
        found = true;  
        break;  
      }  
    }  
  }

но выкидает ошибку:

[Exception... "Component is not available"  nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)"  location: "JS frame :: chrome://custombuttons/content/button.js?windowId=Firefox&id=custombuttons-button0@init :: anonymous :: line 6"  data: no]

Заменой скриптов ранее не занимался, как можно правильно добраться к событию window.onbeforeunload ? Не то окно что-ли?

ПС: выполняю скрипт через расширение Custom Buttons, удобно отлаживать скрипты, перед тем как переносить их в расширение.