Hej!
Håller på med en liten text editor för en webbsida (WYSIWYG) men har nu kört fast. Problemet är när jag använder mig av execCommand("CreateLink") och skall infoga en länk. Den funktionen är jättebra MEN man kan ju aldrig välja vilket TARGET länken ska ha i dialogrutan. Går det att kombinera CreateLink med något som gör att man kan fixa detta eller är man tvungen att skriva en egen funktion för att infoga en länk? Skulle helst se att man kunde kombinera då jag inte så vass på och skriva javascript.
Tack på förhand :-)
execCommand("CreateLink")
5 svar · 398 visningar · startad av klementin
Tror det är många inklusive mig som letar efter det. :)
Jag letar också!
Jag har hittat en artikel om hur man gör på http://vsbabu.org/techbits/ första artikeln i listan.
Dock har jag inte fått hans regexp:ar att funka och jag är helt värdelös på regexp. Kanske nån annan som kan fixa mönstret?
Jag tror att man får skriva en egen funktion...
Här är en liten början.
Hastigt nedklottrat bara, så ni kanske får pilla lite.
Problemet är att man får bolla värdena lite framåt tillbaka, därav en "hidden".
<html>
<script>
function linkNtarget(){
objRange = document.selection.createRange();
hiliteTxt = objRange.text;
if(hiliteTxt != ""){
window.open(
"about:"+
"<form onsubmit=\"window.opener.setValues(this.urlTxt.value, this.tagetTxt.value); window.close();\">"+
"URLen<br>"+
"<input name=\"urlTxt\" value=\"http://\" size=\"15\">"+
"<br>Target<br>"+
"<select name=\"tagetTxt\">"+
"<option value=\"\">Skit samma"+
"<option value=\"_top\">_top"+
"<option value=\"_blank\">_blank"+
"<\/select> "+
"<input type=\"submit\" value=\"OK\">"+
"<\/form>",
"","height=150,width=150"
)
}
}
function setValues(url,target){
objRange.text = "<a href='"+ url +"' target="+ target +">"+ hiliteTxt +"</a>";
ett = /</gi; tva = />/gi;
oHidden.value=oDiv.innerHTML.replace(ett, "<");
oHidden.value=oHidden.value.replace(tva, ">");
oDiv.innerHTML=oHidden.value;
}
</script>
<button onClick="linkNtarget();">Hyperlänk</button>
<p>
<div id="oDiv" CONTENTEDITABLE style="height:100; width:400; border: 1px solid black ; overflow=auto;">
Markera en del av texten och tryck på "Hyperlänk"
</div>
<input type="hidden" id="oHidden">
<p>
<button onClick="alert(oDiv.innerHTML)">Resultat</button>
</html>
Hmm, då är man kanske på väg mot en lösning... :)
Hittade du någon lösning på problemet?