Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

andrea cerqueira

CreateLink com target

Recommended Posts

estou tentando colocar target em um link criado via CreateLink

 

frameNome.contentWindow.document.execCommand("CreateLink", false, url);

mas o resultado que eu tenho é esse:

<A href=`"http://www.uol.com.br" target="_blank"`>aqui</A>

o link é montado assim:

url = "\"" + document.getElementById('link').value + "\"" + " target=\"<?= $target; ?>\"";

entra uma crase estranha, já tentei usar o replace mas nem rola.

 

alguém sabe como resolver isso, pq entra essa crase nada a ver aí? http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

neh não...vou dar um ex pra você

 

<script>
//criando um elemento com o DOM =)

var a = document.createElement("a");
a.href = "link";
a.target = "target";


</script>
viu basicamente eh isso

 

para adicionar esse elemento em outro elemento você usa assim oh

 

elemento.appendChild(a);
vai que você aprende....pra isso que tem o forum neh....t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

mmm não consegui ver relação do que você me passou com o que eu perguntei :)

não saco de javascript, não consegui mesmo entender pq fazer como você disse na verdade nem consegui ver isso dentro do que eu fiz, tô falando de verdade não tô reclamando não, realmente não vi ligação hehehe.

mas valeu... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

resolvido:

 

<select name="select" class="caixa" onchange="inserirLink(this.options[this.selectedIndex].value)">
	<option value="">Inserir Link do tipo:</option>
	<option value="blank">URL abrir em nova página</option>
	<option value="self">URL abrir na mesma página</option>
	<option value="email">E-mail</option>
</select>

function inserirLink(inserirLink) {
	switch(inserirLink) {
		case "blank":
		combo = prompt("Insira a URL","http://");
		if(combo != null) {
			var kk = editor.document.selection.createRange();  
			var texto = editor.document.selection.createRange().text;	  
			str = "<a href='" + combo + "' target='_blank'>" + texto + "</a>";
			kk.pasteHTML(str);
		}
		break;

		case "self":
		combo = prompt("Insira a URL","http://");
		if(combo != null) {
			var kk = editor.document.selection.createRange();  
			var texto = editor.document.selection.createRange().text;	  
			str = "<a href='" + combo + "' target='_self'>" + texto + "</a>";
			kk.pasteHTML(str);
		}
		break;

		case "email":
		combo = prompt("Insira o Email","");
		if(combo != null) {
			var kk = editor.document.selection.createRange();  
			var texto = editor.document.selection.createRange().text;	  
			str = "<a href='mailto:" + combo + "'>" + texto + "</a>";
			kk.pasteHTML(str);
		}
		break;
	}
}

só tem um detalhe importante, não funciona no firefox http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

parece que o firefox não aceita createRange

acho que tem que usar algo mais ou menos assim:

var selectedText = document.commandDispatcher.focusedWindow.getSelection().toString();

mas não consegui ainda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.