ONCLICK=document.execCommand('CreateLink'...

4 отговора 131 прегледа
#1

ONCLICK=document.execCommand('CreateLink'...

Здраво,
Имам проблем с DHTML метода document.execCommand
Имам бутон, който на
ONCLICK=document.execCommand('CreateLink', true, '[линк]') и
според описанието:

"Inserts a hyperlink on the current selection, or displays a dialog box enabling the user to specify a URL to insert as a hyperlink on the current selection"
MSDN

трябва да поставя тъпото '[линк]' като линк на отворения диалогов прозорец. За съжаление нещо не бачка и в диалога излиза неуморимо "http://".

Ще съм благодарен ако някой знае как да се избавя от тоз нещастен бъг и сподели!

Отговор
в отговор на mutta #2

Re: ONCLICK=document.execCommand('CreateLink'...

<input type="button" value="test" onClick="document.execCommand('CreateLink',false , '[линк]')">

Отговор
в отговор на microsoft #3

Re: ONCLICK=document.execCommand('CreateLink'...

Мерси за вниманието.

И аз стигнах до този извод с деактивирането на диалоговия прозорец. Обаче това не е достатъчно. Трябва url-то на линка да се избере от страница - списък с линкове.

Проблема идва от това, че линка трябва да се сложи в един DHTML контрол, в който user-ите са написали и форматирали някакъв текст и искат да сложат и линк. И понеже са прекалено кухи за да си го copy-paste-нат от адрес бара на брузъра (много сложно било, нямало да могат да се оправят) трябва да си брузнат и да си изберат линка, примерно като цъкнат на бутон "ей го на" срещу линка който им трябва.

Тази страница със списъка с линковете аз я генерирам и зора е, че трябва да е нов прозорец, че да не трябва стария да се презарежда. Та си мисля, няма ли някакъв начин да извикам execCommand за друг прозорец, този който е отворил текущия? Няма нужда да е съвместимо с друго, освен IE6. parent какво е, не е ли точно този прозорец, или сочи само към евентуален frameset, в който се намираме. В един javascript reference не го видях, явно този parent е майкрософтска измишльотина. Всеки случай
parent.document.execCommand('CreateLink', false, link );
не бачка.

Мерси за вниманието и дано някои да даде акъл, че иначе, мани, ще трябва да ги учим user-ите да натискат Ctrl и C едновременно

Отговор
в отговор на mutta #4

Re: ONCLICK=document.execCommand('CreateLink'...

...за друг прозорец, този който е отворил текущия?
това е opener. , ако новия прозорец е отворен с javascript (window.open)
нещо като opener.document.execCommand('CreateLink', false, link ); може и да работи. Ако не може да си направиш в основния документ една функция която приема избрания линк като параметър , нещо като
function linkme(myurl){
document.execCommand('CreateLink', false, myurl);
}
и да я викнеш от новия прозорец
opener.linkme("[линк]")
не съм го пробвал и не съм съвсем сигурен че така трябва да се извика функцията.

Отговор
в отговор на microsoft #5

Re: ONCLICK=document.execCommand('CreateLink'...

Благодаря ти за отговорите.

Верно с window.opener.document.execCommand() става и се изпълнява командата за родителския прозорец.

Отговор