В принципе, мне не трудно и переписать любой из примеров на синтаксис ContinueWith - только скажите, какой из трех. А то все три переписывать неохота :)
Я вам уже три раза писал: юзерскрипт и сайт выполняются в разных контекстах. У юзерскрипта вообще нет доступа к библиотеке jQuery - если только вы не добавили ее в начало своего юзерскрипта. Но даже если добавили - то jQuery на сайте и jQuery в юзерскрипте - это две разные библиотеки, которые ничего не знают друг про друга.
Дело в том, что если выполнять юзерскрипт и саму страницу в одном и том же контексте, то в юзерскрипте нельзя будет использовать никаких библиотек - а вдруг будет конфликт с сайтом?
Потому-то контексты и разделили. Ну а как при необходимости вернуться в контекст сайта - вы теперь знаете.
И так, ваш пример использует jquery. Это хорошо, потому что jquery умеет удалять все обработчики: $(window).unbind("beforeunload")
Проблема в том, что этот код надо запустить в контексте самой страницы, а не в контексте контент-скрипта. Для этого надо создать расширение браузера, в котором будут файлы
1. файл скрипта, выполняющего $(window).unbind("beforeunload")
2. файл скрипта, внедряющего в страницу первый скрипт,
3. манифест.
В манифесте должны содержаться:
1. блок web_accessible_resources, разрешающий сайту загружать первый скрипт,
2. блок content_scripts, внедряющий второй скрипт в страницу.
Заметьте, гениальный человек, "грубиянить" я не перестал. Зато как только я начал "грубиянить" - так вы сразу же начали отвечать на вопросы... Если вы и дальше будете поступать - то останетесь в окружении одних грубиянов.
Отбиндить все не получится по одной простой причине - нет способа перечислить все обработчики. Заметьте: перечислять нужно _обработчики_, а не _элементы_. Так что я даже не могу представить, как же вы "пробовали".
Поэтому задача скрыть окно подтверждения ухода на _произвольном_ сайте решения не имеет. Скрыть окно можно только на конкретном сайте. И пока вы этот секретный сайт не покажите - дальнейший разговор бессмысленный.
Слушайте, гениальный человек, что вы от меня хотите-то? Если это окошко выдает userscript - то все очень просто: отредактируйте userscript, убрав из него это окошко. Зачем отбиндивать функцию, если можно ее попросту не биндить?
Если это окошко выдается сайтом - то тут сложнее. Надо найти _конкретную_ функцию, которая биндится сайтом на onbeforeunload - и отбиндить в юзерскрипте именно ее. Способа отбиндить все нету - надо искать функцию. Если хотите помощи - дайте ссылку на тот самый userscript, и ссылку на тот самый сайт. Если вы не хотите давать ссылки - то и разбирайтесь сами.