Javascript functie niet In Netscape
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?
function addTag(t){
ua = navigator.userAgent;
if (ua.indexOf("MSIE")>=1) {
sel = document.selection.createRange();
par = sel.parentElement();
if (par.type != "textarea") {
alert("Please select text.")
}
else {
sel.text="<"+t+">"+sel.text+"</"+t+">";
sel.select();
par.focus();
}
}
else {
alert('This works only in IE4 or above');
}
}
?>
function addTag(t){
ua = navigator.userAgent;
if (ua.indexOf("MSIE")>=1) {
sel = document.selection.createRange();
par = sel.parentElement();
if (par.type != "textarea") {
alert("Please select text.")
}
else {
sel.text="<"+t+">"+sel.text+"</"+t+">";
sel.select();
par.focus();
}
}
else {
alert('This works only in IE4 or above');
}
}
?>
nu er staat wel in da de browser ie4 of hoger moet zijn, maar als ik deze statement verwijder werkt hij ook niet. kan iemand me uitleggen hoe ik dit kan oplossen ? en waarom ?
ben toch maar FF aan het downloaden voor de zien of het daar niet werkt.
Misschien heb je hier wat aan, ik denk het wel.
en is het dan mogelijk om bv:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?
function underline(){
ua = navigator.userAgent;
if (ua.indexOf("MSIE")>=1) {
sel = document.selection.createRange();
par = sel.parentElement();
if (par.type != "textarea") {
alert("Please select text.")
}
else {
sel.text="<u>"+sel.text+"</u>";
sel.select();
par.focus();
}
} else {
sel = document.getSelection().createRange();
par = sel.parentElement();
if (par.type != "textarea") {
alert("Please select text.")
}
else {
sel.text="<u>"+sel.text+"</u>";
sel.select();
par.focus();
}
}
}
?>
function underline(){
ua = navigator.userAgent;
if (ua.indexOf("MSIE")>=1) {
sel = document.selection.createRange();
par = sel.parentElement();
if (par.type != "textarea") {
alert("Please select text.")
}
else {
sel.text="<u>"+sel.text+"</u>";
sel.select();
par.focus();
}
} else {
sel = document.getSelection().createRange();
par = sel.parentElement();
if (par.type != "textarea") {
alert("Please select text.")
}
else {
sel.text="<u>"+sel.text+"</u>";
sel.select();
par.focus();
}
}
}
?>
dit werkt niet! kan iemand het mss verbeteren, in javascript ben ik een absolute beginner, moet er dringend eens een boek over lezen!
Dit is trouwens echt een pure gok, aangezien ik deze functies van javascript nou net niet echt vaak gebruik :)
Misschien dat deze werkt:
function getSel(tag)
{
var txt = '';
var foundIn = '';
if (window.getSelection)
{
txt = window.getSelection();
window.getSelection() = '<'+tag+'>'+txt+'</'+tag+'>';
}
else if (document.getSelection)
{
txt = document.getSelection();
document.getSelection() = '<'+tag+'>'+txt+'</'+tag+'>';
}
else if (document.selection)
{
txt = document.selection.createRange().text;
document.selection.createRange() = '<'+tag+'>'+txt+'</'+tag+'>';
}
else return;
}
Gewijzigd op 11/12/2005 18:41:00 door Jelmer -
@jelmer, nee deze blijkt ook niet te werken
heeft er nog iemand een idee hoe ik dit zou kunne oplossen ? heb zelf ook al veel gepobeert, maar telken werkt het alleen maar in IE!
edit: ik nog eens lopen snuffelen, en mozilla browsers kennen wel zoiets als selectionStart en selectionEnd.
Als je textarea 'message' heet kun je dit doen:
var sel_begin = yourform.message.selectionStart;
var sel_eind = yourform.message.selectionEnd;
Met behulp van deze vars kun je de tekst in drie stukken delen via substring (): het deel voor de selectie, de selectie zelf, en het deel na de selectie.
Gewijzigd op 11/12/2005 20:11:00 door Jan Koehoorn
oke, het zal dan maar in internet explorer worden denk ik, meeste klanten gebruiken dat toch, zeker in bedrijven. en in netscape kan je altijd "display as internet explorer" doen, dan werkt het ook!
Het laatste cijfer dat ik gezien heb gaf een marktaandeel van 18% voor FireFox ...