bbcode a IE

Vývojová prostředí, aplikace, skripty, http://www... síťové programy, internet, sdílení...
Odpovědět
lord.zealot
Nováček
Nováček
Registrován: 02. srp 2005
Kontaktovat uživatele:

bbcode a IE

Příspěvek od lord.zealot »

Ahoj vsem,

nasel jsem script a trosku jsem si ho upravil, ale nefunguje mi v IE. Ostatni prohlizece jsou v pohode. Potreboval bych script doladit, aby byl funkci i pro explorer. Nejsem zrovna guru v javascriptu takze za jakoukoliv radu budu vdecny.

kod pro index.html
<html lang="cs">
<head>
<script type="text/javascript" src="js/js_insert.js"></script>
</head>
<body>
<div id="tu"></div>
<form name="frm" onsubmit="return false">
<a href="#" onClick="bbCode('b', true)">B</a> |
<a href="#" onClick="bbCode('i', true)">I</a> |
<a href="#" onClick="bbCode('u', true)">U</a> |
<br>
<textarea name="text" cols="100" rows="15" tabindex="2"></textarea>
<button onclick="document.getElementById('tu').innerHTML = document.frm.text.value;">POšli</button>
</form>
</body>
</html>

kod pro js_insert.js

var startTag;
var endTag;
var bb;
var inText;
var predText;
var zaText;
var enter;

function bbCode(tag, parovy){

var textarea = document.frm.text;
if (typeof textarea.selectionStart != 'undefined') { //vse mimo IE
var selection = textarea.value.substring(textarea.selectionStart, textarea.selectionEnd);
var stringStart = textarea.selectionStart;
var stringEnd = textarea.selectionEnd;
predText = textarea.value.substring(0,stringStart);
var konec = document.frm.text.value.length;
zaText = textarea.value.substring(stringEnd, konec);
} else if (typeof document.selection != 'undefined') { //IE
var selection = document.selection.createRange().text;
} else {
//alert('Bug!');
}

if(parovy == true){
startTag = '<' + tag + '>';
endTag = '</' + tag + '>';
inText = selection;
bb = predText + startTag + inText + endTag + zaText;
}else if(parovy == false){
startTag = '<' + tag + '>';
endTag = '';
enter = '\n'
textarea.focus();
}

if(tag == 'url'){
if(inText == false){
inText = 'Odkaz';
}else{
inText = selection;
}
startTag = '<a href="http://www.example.com">';
endTag = '</a>';
}

if(tag == 'img'){
if(inText == false){
inText = 'http://www.adresa-obrazku.cz/obrazek.jpg';
}else{
inText = selection;
}
startTag = '<img src="';
endTag = '">';
}
bb = predText + startTag + inText + endTag + zaText;
document.frm.text.value = bb;
}
MB MSI 915P, P4 530J 3G, X700pro PCI-E, HDD 160G.............
arxeiss
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. črc 2008
Bydliště: Krmelín (předměstí Ostravy)
Kontaktovat uživatele:

Re: bbcode a IE

Příspěvek od arxeiss »

Je tam problém, ve všech prohlížečích je jedno jestli jsi v textarei, nebo v inputu, ale v IEčku ne. Každý ten element musí mít jiné JS. Takže já ti tu můžu dát funkci která funguje v textarei. Což si myslím, že taky potřebuješ. Ale vážně se mi to nechce hledat v tvojem kódu kde je chyba. A stejně jsem jednu funkci okopčil z PHPBB fóra.
Takže pokud chceš tak ti to sem hodím. Myslím, že tam mám i nějaké komentáře
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
lord.zealot
Nováček
Nováček
Registrován: 02. srp 2005
Kontaktovat uživatele:

Re: bbcode a IE

Příspěvek od lord.zealot »

To vis, ze bych byl rad. Postni to prosim - budu dluznikem. Uz se s tim morduju dost dlouho.
MB MSI 915P, P4 530J 3G, X700pro PCI-E, HDD 160G.............
arxeiss
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. črc 2008
Bydliště: Krmelín (předměstí Ostravy)
Kontaktovat uživatele:

Re: bbcode a IE

Příspěvek od arxeiss »

Stáhni
Tak komentáře tam nemám, ale pokud nebudeš něco chápat, tak ti zkusím odpovědět, pokud jěště si to budu pamatovat :)
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
lord.zealot
Nováček
Nováček
Registrován: 02. srp 2005
Kontaktovat uživatele:

Re: bbcode a IE

Příspěvek od lord.zealot »

Hele clovece ja ti dekuju, ale vubec tomu nerozumim. Nejak se v tom nevyznam. Netusim jakej k tomu udelat html kod ani kde definovat jaky znaky to ma po kliknuti vlozit.
MB MSI 915P, P4 530J 3G, X700pro PCI-E, HDD 160G.............
arxeiss
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. črc 2008
Bydliště: Krmelín (předměstí Ostravy)
Kontaktovat uživatele:

Re: bbcode a IE

Příspěvek od arxeiss »

Používá se to úplně stejně jako to tvoje, s tím rozdílem, že ty když chceš něco tučné, tak dáš
bbcode("",true);
u mě je to bbcode("","");
Podle mě je to tak lepší, protože např u odkazu volám toto
bbcode("Odkaz"); a kurzor ti to přesune vlastně mezi ty 2 parametry. Pokud označíš text, tak ho to vloží mezi ty 2 parametry, stejně jako zde na fóru
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
lord.zealot
Nováček
Nováček
Registrován: 02. srp 2005
Kontaktovat uživatele:

Re: bbcode a IE

Příspěvek od lord.zealot »

Takto jsem dal html stranku, ale tucne me to nevklada. Ten tvuj kod jsem nijak neupravoval, ale nefunguje to.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="cs">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">


<script type="text/javascript" src="bbcode.js"></script>

<title>doplnit</title>
</head>
<body>
<div id="tu"></div>
<form name="frm" onsubmit="return false">
<a href="#" onClick="bbCode("b","true")">B</a> |
<br>
<textarea name="text" cols="100" rows="15" tabindex="2"></textarea>
<button onclick="document.getElementById('tu').innerHTML = document.frm.text.value;">POšli</button>
</form>
</body>
</html>
MB MSI 915P, P4 530J 3G, X700pro PCI-E, HDD 160G.............
arxeiss
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. črc 2008
Bydliště: Krmelín (předměstí Ostravy)
Kontaktovat uživatele:

Re: bbcode a IE

Příspěvek od arxeiss »

tak v tom kódu musíš nastavit do jaké textarey se to má vkládat

V bbcode.js je na 5.řádku

Kód: Vybrat vše

var BBarea = document.getElementById("nejakeID");
Tak tady nastavíš, se kterou textareou budeš pracovat.
A pak někde vložíš tlačítko, např

Kód: Vybrat vše

<input type="button" value=" B " style="font-weight: bold;" onclick="bbcode('[b]','[/b]')"/>
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
lord.zealot
Nováček
Nováček
Registrován: 02. srp 2005
Kontaktovat uživatele:

Re: bbcode a IE

Příspěvek od lord.zealot »

Jsem trouba, sorry.

Pokud bys jeste mohl, hodila by se mi i moznost vkladat tagy misto bbcodu tedy neco jako

Kód: Vybrat vše

<input type="button" value=" B " style="font-weight: bold;" onclick="bbcode('<b>','</b>')"/>
nicmene kdyz dam neco ve stylu

Kód: Vybrat vše

<input type="button" value=" B " style="font-weight: bold;" onclick="bbcode('<span style="color: black">','[/span]')"/>
tak to nejde kvuli uvozovkam. Jde to nejak obejit?
MB MSI 915P, P4 530J 3G, X700pro PCI-E, HDD 160G.............
arxeiss
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. črc 2008
Bydliště: Krmelín (předměstí Ostravy)
Kontaktovat uživatele:

Re: bbcode a IE

Příspěvek od arxeiss »

jo

Kód: Vybrat vše

<input type="button" value=" B " style="font-weight: bold;" onclick="bbcode('<span style=\"color: black\">','[/span]')"/>
Zpětné lomítko
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
lord.zealot
Nováček
Nováček
Registrován: 02. srp 2005
Kontaktovat uživatele:

Re: bbcode a IE

Příspěvek od lord.zealot »

ja to vyresil " a uz to slape uplne v pohode. Lomitko me taky mohlo napadnou kua.

sorry ze jsem otravoval a diky moc za tvou trpelivost. Jsem rad, ze to konecne slape a jsem dluznik.

diky
MB MSI 915P, P4 530J 3G, X700pro PCI-E, HDD 160G.............
arxeiss
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. črc 2008
Bydliště: Krmelín (předměstí Ostravy)
Kontaktovat uživatele:

Re: bbcode a IE

Příspěvek od arxeiss »

Jinak taky jsem používal BBkódy, ale zjistil jsem, že to není to pravé. Lepší je WYSIWYG editor. Ovšem tam už máš těžší ošetření proti tomu ať uživatel nezadá JavaScript apod...
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
lord.zealot
Nováček
Nováček
Registrován: 02. srp 2005
Kontaktovat uživatele:

Re: bbcode a IE

Příspěvek od lord.zealot »

tak pockej, chces me rict, ze se s tim nervuju a je neco lepsiho. Sem s tim :-D
MB MSI 915P, P4 530J 3G, X700pro PCI-E, HDD 160G.............
arxeiss
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. črc 2008
Bydliště: Krmelín (předměstí Ostravy)
Kontaktovat uživatele:

Re: bbcode a IE

Příspěvek od arxeiss »

Hledej v googlu WYSIWYG editor, je jich plno, osobně používám TinyMCE a jsem s ním jakžtakž spokojený.
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
lord.zealot
Nováček
Nováček
Registrován: 02. srp 2005
Kontaktovat uživatele:

Re: bbcode a IE

Příspěvek od lord.zealot »

Arxeissi potrebuju jeste tvou pomoc.

Stahnul jsem si ten TinyMCE editor a je to skutecna bomba, ale mam problem s tim, ze me na te strance prestal fungovat jiny onclick kod. Pokud z indexu smazu vse tykajici se TinyMCE tak onclick kodu funguje v poradku, ale jinak ne. Jenze ja bych potreboval napasovat tam oboje. Nemas s tim nejakou zkusenost?
MB MSI 915P, P4 530J 3G, X700pro PCI-E, HDD 160G.............
arxeiss
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. črc 2008
Bydliště: Krmelín (předměstí Ostravy)
Kontaktovat uživatele:

Re: bbcode a IE

Příspěvek od arxeiss »

je to divné, já teda mám TinyMCE v jQuery protože taky na stránkách jQuery používám, a taky problém jsem neměl. Hoď to kdyžtak někam na net nebo tak, mrknu
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
Odpovědět

Zpět na „Programování a web“