Коллеги, прошу прощения за реанимацию) старой темы, но вопрос почти по её продолжению.
С помощью своего контекстного меню, вызываемого в браузере IE по правой клавише, я был сделал много полезных утилиток, но во всех них действовал один принцип - до вызова меню, предварительно на IE-странице пользователю нужно было выделить хоть немножко контента , чтобы потом через указанный выше код:
var docSel = document.selection,
txtRange = docSel.createRange (),
parElem = txtRange.parentElement ();
можно было работать с объектами родителя.
А сейчас стоит задача работать своим контекстным меню лишь при вызове меню на гиперссылках родительской страницы, т.е. нужно получать доступ к объекту на документе (гиперссылке), не используя "document.selection".
Вот, пример начала кода на странице вызванного меню, которое чудно работает при выделении чего-то на родительской странице перед вызовом меню. Теперь, естесственно, на отладочном алерте "ku3" обработка и прерывается:
alert('ku1');
var parentwin = external.menuArguments; // получаем объект окна
alert('ku2');
var doc = parentwin.document; // получаем объект документа
alert('ku3');
var doc_parElem = doc.selection.createRange ().parentElement ();
alert('ku4');
var sParElem = doc_parElem.outerHTML; // код элемента, на котором выполняли выделение
alert('ku5');
alert ('В теге\n-----\n'
+ doc_parElem.outerHTML
+ '\n-------\nвыделен следующий HTML-код:\n-------\n'
+ txtRange.htmlText);
Не нахожу как это сделать - прошу подсказки.
WBR. Roman