Ru-Board.club
← Вернуться в раздел «Программы»

» Маленькие IE Context Menu Extensions

Автор: WRFan
Дата сообщения: 22.05.2004 10:57
Давайте сюда постить контекстные менюшки для IE браузера. Такие все из себя маленькие вещицы, что облегчают жизнь или добавляют интересные новые функции к браузеру. Я лично их обожаю. Возможности IE браузера бесконечны, только надо знать, как их использовать.

Во первых, куда они добавляются в реестре? Вот в этот раздел:

HKEY_CURRENT_USER\Microsoft\Internet Explorer\MenuExt

создаётся новый ключ и в нём указывается адрес файла со скриптом. обычно все скрипты для IE кладут в %systemroot%\web папку, но это на ваше усмотрение.

Как писать такие скрипты?

Абсолютно вся инфа находится на http://msdn.microsoft.com/library/default.asp

А вот и пара первых скриптов:

- Делаем из браузера Фотошоп (добавляем к contextmenu функции для работы с картинками):

http://membres.lycos.fr/julieborette/

- Вырываемся из frame-а, оставаясь в старом окне:


Код:
<script type="text/javascript">
win = external.menuArguments
if( win.location.href == win.top.location.href ){
alert('This document is not in a frameset');
}else{
external.menuArguments.top.location.href = win.location;
}
</script>
Автор: volodyalipkin
Дата сообщения: 22.05.2004 17:42
Может лучше сюда?
Автор: Zeroglif
Дата сообщения: 22.05.2004 19:36

Цитата:
Может лучше сюда?

Неее, там своего барахла хватает... Имхо пусть тут живёт. Тема самодостаточная, потому как, с одной стороны, это вроде как скрипт, а с другой - нормальный плагин для IE, MyIE2, GreenBrowser, AvantBrowser и проч. надстроек. Скрипто-писателей эти плюшки мало волнуют, у них другая задача..., давайте уж здесь "качели устроим"© ...

IE Context Menu Extensions - весчь несомненно удобная, лично я очень активно юзаю из контекста:

-просмотр подсвеченного кода (полностью или выделение);
-переброс страницы или ссылки в другой браузер;
-всякие сервисы для страницы и ссылок (хуиз, прокси);
-поиск в гугле и яндексе;
-перевод;
-подсветка (по маске и без);
-масштаб страницы и изображений;
-просмотр урлов, таблиц, размеров изображений и т.д. и т.п.

Кстати, ктонить видел, имеет ли контекст IE ограничение на количество строк в себе родимом?

Автор: tolja
Дата сообщения: 22.05.2004 19:56
Мои пять копеек...
Добавляем в конт.меню IE строчку - "View in Firefox" ,
можно в любом браузере...
P.S.
Не пробовал, так как у меня обратная ситуация, - в моем Firefox'е уже есть "View in IE"...
Автор: albel
Дата сообщения: 22.05.2004 20:37
tolja
пасиб за ссылку.
То, что нужно
Автор: Zeroglif
Дата сообщения: 22.05.2004 20:56
Открыть текущий адрес страницы или ссылку в другом браузере


Код:
<SCRIPT language=JavaScript>
var shell = new ActiveXObject("WScript.shell");
var parentwin = external.menuArguments;
var doc = parentwin.document;
var lnk = window.external.menuArguments.event.srcElement;
if (lnk == "[object]") {
var lnk = window.external.menuArguments.event.srcElement.parentElement;
}
if (lnk == "[object]") {
var lnk = window.external.menuArguments.event.srcElement.src;
}
if (lnk == null) {
var lnk = window.external.menuArguments.location;
}
shell.run("D:\\Progz\\MYiE2_0.9.26.33en\\MyIE.exe " + lnk,10);
</script>
Автор: gmarik
Дата сообщения: 23.05.2004 04:02
а скачать все страници сайта можно? чем?
Автор: Zeroglif
Дата сообщения: 25.05.2004 23:28
Поиск выделенного слова на Google

Скриптик тут, в родственной ветке...
Автор: volodyalipkin
Дата сообщения: 26.05.2004 05:06
Zeroglif
Спасибо. Отвечаю тут

Добавлено
gmarik
Teleport Ultra, например. Только это здоровая программа, а не маленький полезный скрипт.
Автор: volodyalipkin
Дата сообщения: 01.06.2004 06:03
На сайте http://netz.ru приводится добавка к IE, позволяюшая открывать страницы с неправильными адресами. (типа http://w*w.yahoo.com)
Автор: Zeroglif
Дата сообщения: 01.06.2004 10:01
Копировать URL рисунка

http://www.metabuilders.com/CopyImageUrl.zip
Автор: Schurik
Дата сообщения: 23.08.2004 22:10

Разыскивается скрипт: Открыть URL рисунка
Не подкините скрипт? То есть, по сути, тот же, что опубликовал здесь последним Zeroglif с одним только отличием: URL рисунка должен не копироваться в буфер об., а открываться в новом окне. У меня познаний в этой области нет никаких, а поиски ни к чему не привели. Будте добры, кому не составит труда...

Заранее благодарю!
Автор: Zeroglif
Дата сообщения: 24.08.2004 13:42
Открыть рисунок в соразмерном ему новом окне


Код: <script LANGUAGE="JavaScript" defer>
var win = external.menuArguments;var im = win.event.srcElement;
if ( im.tagName == "IMG"){ nw=win.open(im.src,'nw','toolbar=no,width='+im.width+',height='+im.height)
if(im.width < 100 || im.height < 100){ nw.document.write('<html><head><title>'+im.alt+'<\/title><\/head><body body bgcolor="black" topmargin="0" leftmargin="0"><img src="'+im.src+'"><\/body><\/html>')}
else{ nw.document.write('<html><head><title>'+im.alt+'<\/title><\/head><body background="'+im.src+'"><\/body><\/html>')}
document.close();nw.resizeBy(im.width - nw.document.body.clientWidth,im.height - nw.document.body.clientHeight);nw.focus()}
</script>
Автор: Schurik
Дата сообщения: 24.08.2004 17:55
Zeroglif
Большое Вам спасибо! Выручили, в очередной раз.
Выложил комплект с инструкцией, состоящий из скриптов для Копирования URL рисунка и Просмотра рисунка в соразмерном ему новом/обычном окне.
Кстати, насчет последнего: Просмотр рисунка в обычном новом окне. Я долго эсперементировал с кодом и пришел вот к этому:


Код:
<script LANGUAGE="JavaScript" defer>
var win = external.menuArguments;var im = win.event.srcElement;
{nw=win.open(im.src,'nw')
nw.document.write('<html><body topmargin="0" leftmargin="0"><img src="'+im.src+'"><\/body><\/html>')
document.close()}
</script>
Автор: WRFan
Дата сообщения: 25.08.2004 01:53
BlendTrans Image Filter:


Код:
REGEDIT4

[HKEY_Current_User\Software\Microsoft\Internet Explorer\MenuExt\Image BlendTrans]
@="e:\\windows\\web\\ImageZ\\BlendTrans.html"
"contexts"=dword:00000002
Автор: WRFan
Дата сообщения: 06.09.2004 17:22
кто нибудь помнит IE5 Web Accessories? Там была такая IE extension под названием Images List, она показывала все картинки на странице. только иногда она не работает, надо refresh-ать страницу, а то ничего не происходит.

случайно нашёл вот страницу, где написано, что кто то написал fix для этой проблемы, но этот fix надо через мыло выписывать. кто нибудь этот fix уже видел? я написал на мыло, да не знаю, или ответят

http://groups.google.com/groups?q="web+accessories"+zoomin+author:byrd&hl=en&lr=&ie=UTF-8&c2coff=1&scoring=d&selm=-YydndSypoYAjzvd4p2dnA@adelphia.com&rnum=1

если у кого есть, запостьте плиз
Автор: WRFan
Дата сообщения: 07.09.2004 17:03

Цитата:
кто нибудь помнит IE5 Web Accessories? Там была такая IE extension под названием Images List, она показывала все картинки на странице. только иногда она не работает, надо refresh-ать страницу, а то ничего не происходит.

случайно нашёл вот страницу, где написано, что кто то написал fix для этой проблемы, но этот fix надо через мыло выписывать. кто нибудь этот fix уже видел? я написал на мыло, да не знаю, или ответят


всё, получил, кому надо, сюда:

http://membres.lycos.fr/julieborette/files/imglist.zip

я только не понимаю, что, здесь это никого не интересует, что ли? эта штука ведь в оригинале совершенно не работоспособна, одни баги! например, после открытия картинки не показываются, надо refresh-ать страницу (F5), чтобы они показались. а этот неофициальный fix работает, как надо. а вы храпите
Автор: Zeroglif
Дата сообщения: 07.09.2004 18:57

Цитата:
я только не понимаю, что, здесь это никого не интересует, что ли?


Цитата:
fix работает, как надо. а вы храпите

Почему все храпят не знаю , отвечу за себя. Этих image list-ов и в виде простых фавлетов и в виде расширений меню такое количество в сети, что древний IE5WA уже давно и не впоминает никто...

Автор: WRFan
Дата сообщения: 08.09.2004 07:28

Цитата:
Этих image list-ов и в виде простых фавлетов и в виде расширений меню такое количество в сети, что древний IE5WA уже давно и не впоминает никто...


хороший букмарклет я для этого действительно видел, а вот IE contextmenu extension кроме этой нет. да и зачем другие? эта - очень хорошая (конечно ПОСЛЕ fix-а)
Автор: popkov
Дата сообщения: 28.05.2005 09:19
Вот ещё однин полезный пункт контекстного меню для тех, кто работает в сети моего&igor_andreev изобретения. Действительно прикольно получилось: позволяет забыть о тяжких зависаниях окон IE при открытии недоступных компьютеров по гиперссылке.... Добавляет в контекстное меню пункт "Открыть в НОВОМ ПРОЦЕСЕЕ IE".
Создаёте файл NewWindow.htm, например, в папке C:\WINDOWS\Web

Цитата:
<script language="vbscript">
myURL=external.menuArguments.event.srcElement.href
Set f = CreateObject("WScript.Shell")
f.Run "iexplore.exe -new -nohome " + myURL, 7, false
</script>

Добавляете в реестр регфайл:

Цитата:
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\=:=:= OТКРЫТЬ в НОВОМ ПРОЦЕССЕ IE =:=:=]
@="C:\\WINDOWS\\Web\\NewWindow.htm"
"contexts"=dword:00000022

Если не работает, полезно добавить в реестр ещё это для того, чтобы IExplore.exe можно было запускать, просто вводя имя файла в командную строку:

Цитата:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\IEXPLORE.EXE]
@="\"C:\\Program Files\\Internet Explorer\\iexplore.exe\" -new -nohome"


Вот тема по этой фиче:
http://forum.ru-board.com/topic.cgi?forum=33&topic=5267&postno=5

(С) popkov&igor_andreev
Автор: WRFan
Дата сообщения: 20.11.2006 04:19
написал contextmenu extension для ИЕ для сохранения страницы в mhtml (mht) формат. для использования нужна эта библиотека:

http://www.chilkatsoft.com/mht-activex.asp

в скрипт уже вставлен trial reset. т.к. библиотека не бесплатная, она добавляет ключи в реестр, через которые она контролирует, истекло ли демочное время. а так демо - полнофункциональна. trial reset сабрутина используется в виде wrapper-а, другими словами, trial ключи убираются автоматически из реестра перед и после каждого использования скрипта, можно пользоваться годами

если будете переписывать скрипт, с этой частью скрипта играться не советую, а то по незнанию ещё весь реестр удалите

да, я знаю, что эта функция странно написана, но это из за того, что производитель закодировал ключи в реестре и до них трудновато добраться, если точный путь указывать, vbscript путается


Код:
<SCRIPT LANGUAGE="VBSCRIPT">

sub trialreset()
'ON ERROR RESUME NEXT

Const HKEY_LOCAL_MACHINE = &H80000002
strComputer = "."
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _
strComputer & "\root\default:StdRegProv")

strKeyPath = "SOFTWARE\Chilkat Software, Inc."
oReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys
For Each subkey In arrSubKeys
strKeyPath2 = strKeyPath + "\" + subkey
strValueName = "Key30"
oReg.DeleteValue HKEY_LOCAL_MACHINE,strKeyPath2,strValueName
Next

secondpath = "SOFTWARE\Classes\WMZebra\CLSID"
oReg.EnumKey HKEY_LOCAL_MACHINE, secondpath, arrSubKeys2
For Each subkey2 In arrSubKeys2
secondpath2 = secondpath + "\" + subkey2
strValueName2 = "7832"
oReg.DeleteValue HKEY_LOCAL_MACHINE,secondpath2,strValueName2
Next

end sub

trialreset()

set mht = CreateObject("ChilkatMht.ChilkatMht")
mht.UnlockComponent "AnythingWorksFor30DayTrial"
'external.menuArguments.window.prompt mht.isunlocked

mht.proxy = "127.0.0.1:89" 'Set Proxy
mht.EmbedImages = 1

myURL=external.menuArguments.location.href
pagetitle = external.menuArguments.document.title

Dim fso, half
Set fso = CreateObject("Scripting.FileSystemObject")
half = fso.GetFileName(external.menuArguments.location.href)
'p=instrrev(myURL,"/")
'half = right(myURL,len(myURL)-p)
if InStr(half,".") then
s=InStr(half,".") -1
filename = Left(half, s)
filename = Replace(filename, "%20", "_")
Else filename = ""
End If

Dim WshShell
Set WshShell = CreateObject("WScript.Shell")
Set objWshSpecialFolders = WshShell.SpecialFolders
Mydocs1=WshShell.RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Personal")
Mydocs2 = objWshSpecialFolders("MyDocuments")


if pagetitle > "" then
pagetitle = Replace(pagetitle, " ", "_")
pagetitle = Replace(pagetitle, "/", "_")
pagetitle = Replace(pagetitle, "\", "_")
pagetitle = Replace(pagetitle, ":", "_")
pagetitle = Replace(pagetitle, "|", "_")
pagetitle = Replace(pagetitle, "?", "_")
pagetitle = Replace(pagetitle, Chr(34), "_")

returntext = external.menuArguments.window.prompt ("Please provide the title" & vbCrLf & "(Empty Input or Cancel stop operation)",pagetitle)

Else returntext = external.menuArguments.window.prompt ("Please provide the title" & vbCrLf & "(Empty Input or Cancel stop operation)",filename)
End If



if returntext > "" then

mht.GetAndSaveMHT myURL, Mydocs2 + "\" + returntext + ".mht"
set mht = nothing

trialreset()
end if

</SCRIPT>
Автор: popkov
Дата сообщения: 20.11.2006 23:02
WRFan
Как заставить скрип работать?
После нажатия Enter в "Запросе сценария" ничего, кажется, не происходит. В Папке "Мои документы" нового файла не появляется (насколько я понял, по умолчанию всё в "Мои документы" должно сохраняться?). В качестве проски поставил свой порт HandyCache:

Цитата:
mht.proxy = "127.0.0.1:80" 'Set Proxy

Кстати, насколько я понимаю, эта прога не сохраняет Flash?
Автор: WRFan
Дата сообщения: 22.11.2006 05:06
подправил свой пост наверху, запостил новую версию скрипта. добавил trial reset функцию, чтобы demo время не истекало (в остальном ограничений нет). также добавил ещё несколько знаков, которые по виндовским стандартам не могут фигурировать в названиях файлов (вопросительный знак и т.д.). все недозволенные знаки и т.д. меняются автоматически на "_" знак

в основом предусматриваются следующие ситуации:

1) создание файла без названия (только .mht) - баг в библиотеке
2) создание файлов с недозволенными знаками в названии - программа этого так и так бы не дозволила, файл в конечном счёте бы не создался

popkov


Цитата:
Как заставить скрип работать?
После нажатия Enter в "Запросе сценария" ничего, кажется, не происходит. В Папке "Мои документы" нового файла не появляется (насколько я понял, по умолчанию всё в "Мои документы" должно сохраняться?).


да, файлы должны именно в my documents папке создаваться. я помоему допустил ошибочку при указывании на "my documents" папку - один back slash надо было ещё добавить:


Код:
mht.GetAndSaveMHT myURL, Mydocs2 + "\" + returntext + ".mht"
Автор: popkov
Дата сообщения: 22.11.2006 14:37
WRFan
То есть, у программы по функциональности по сравнению со встроенной функцией IE никаких преимуществ нет?

Почему-то с новой версией скрипта появляется сообщение об ошибке сценария:
Цитата:
Строка 13 символ 1 Объект не является семейством
Автор: WRFan
Дата сообщения: 22.11.2006 17:34

Цитата:
То есть, у программы по функциональности по сравнению со встроенной функцией IE никаких преимуществ нет?


преимущество в том, что быстрее добираться до функции через контекстное меню браузера, чем через file>save и т.д.


Цитата:
Строка 13 символ 1 Объект не является семейством


это как то с WMI (Windows Management Instrumentation) связано. у меня такой ошибки нет. WMI служба включена?
попробуй


Код:
ON ERROR RESUME NEXT
Автор: popkov
Дата сообщения: 22.11.2006 18:30
WRFan

Цитата:
это как то с WMI (Windows Management Instrumentation) связано. у меня такой ошибки нет. WMI служба включена?

Включена

Цитата:
попробуй
ON ERROR RESUME NEXT
добавить в начале скрипта

Заработало!
Автор: WRFan
Дата сообщения: 22.11.2006 18:41

Цитата:
Заработало!


заработало то заработало, но это значит, что у тебя скрипт через trial reset функцию перепрыгивает, ключи из реестра не удаляет. тогда собственноручно удаляй:

HKEY_LOCAL_MACHINE\SOFTWARE\Chilkat Software, Inc.\ChilkatMHT
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WMZebra\CLSID\Q2hpbGthdE1IVA==

добавил наверху ещё одну строку к скрипту:


Код:
pagetitle = Replace(pagetitle, Chr(34), "_")
Автор: Loafer
Дата сообщения: 23.11.2006 18:18
А такого расширения контекстного меню для IE, чтобы выделенный текст открыть как url в новой вкладке нет ?
Автор: pop2ROOT
Дата сообщения: 23.11.2006 18:29
Loafer
если не найдешь - попробуй Maxthon, там еще много удобных фич
Автор: Loafer
Дата сообщения: 23.11.2006 19:25
pop2ROOT
а ты думаешь откуда я узнал обэтой "фиче"
но мне надо чтобы такое же под авантом было

Страницы: 12

Предыдущая тема: Winternals Administrator's Pack


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.