execCommand

2010-11-08 08:36:55 Post #1 user76

 
Nie działa mi wklejanie, wycinanie, kopiowanie.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var Editor;

function CutClipboard()
{
     Editor = document.selection.createRange();
    Editor.execCommand("Cut", false, null);
}
  //edytor
window.onload = function()
{
    Editor = document.getElementById('textbox').contentWindow.document;       // odwołanie do formularza
    Editor.designMode = "on";                                                 // przełączenie dokumentu w tryb edycji
    document.forms[0].onsubmit = function()
    {
        var text = document.getElementById('text');
        text.value = Editor.body.innerHTML;
    }
}




1
<input type="button" onclick="CutClipboard()" class="cut" title="Wytnij" />

2010-11-08 08:40:25 Post #2 nospor

 
No a co pokazuje konsola FireBug'a?

2010-11-08 08:49:53 Post #3 user76

 
ocument.selection is undefined
[Break on this error] Editor = document.selection.createRange();

2010-11-08 08:54:49 Post #4 nospor

 
http://www.webreference.com/js/column12/crossbrowser.html

2010-11-08 23:32:54 Post #5 user76

 
W tym temacie jest coś o Browser, ale ja wyczytałem, że w FF nie odpalają się operacje edycji, kopiowania, wklejania. W MSIE wszystko działa dobrze. Nawet jak się w FF wejdzie na http://premiumsoftware.net/cleditor/, zaznaczy i chce wyciąć jakiś tekst, to wyskoczy komunikat. Swoją drogą, jak taki komunikat wykonać? Jak rozpoznać w skrypcie, że to jest FF/Opera/IE?

2010-11-09 00:14:22 Post #6 korey

 
Hmm.. ja na swojej stronce napisałem anty IE skrypt ;p
wygląda on następująco:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<script language="javascript">
var przegladarka = navigator.appName;
// Jeśli strona bedzie otwierana w IE zostajemy przeniesienie do strony Error
if(przegladarka == 'Microsoft Internet Explorer'){
document.execCommand ("Stop");
document.bgColor = "#000000";
document.fgColor = "#FFFFFF";
document.write('<h2>ERROR!!</h2>');
setTimeout("document.location='ie_web_error.php'", 1000);
}
else{
// Nic nie robimy
}
</script>

skrypt mówi ze jeśli użytkownik wchodzi na moją stronę przez IE to wyświetlimy stosowny komunikat, a następnie przeniesiemy do pliku który zawiera pełne informacje jak przemieszczać się po stronie.
jak chcesz sprawdz sam. http://www.get-movie.pl/

za sama nazwę przeglądarki odpowiada navigator.appName

mam nadzieje ze jakoś pomogłem

2010-11-09 07:17:25 Post #7 nospor

 
W tym temacie jest coś o Browser, ale ja wyczytałem, że w FF nie odpalają się operacje edycji, kopiowania, wklejania.
Nie, coś źle wyczytałeś.
Jak rozpoznać w skrypcie, że to jest FF/Opera/IE?
Zaprzęgnij jakiegoś liba, np. jQuery i takie rzeczy będziesz miał na dzień dobry.

2010-11-09 09:46:56 Post #8 user76

 
Ale ja robię wysiwyga bez jquery, jedynie javascript i php, mysql, css.

2010-11-09 09:56:29 Post #9 nospor

 
To i tak nie problem. Przecież google ci wszystko powie....
http://lmgtfy.com/?q=js+browser+detection
I pierwszy z brzegu wynik
http://www.quirksmode.org/js/detect.html

2010-11-14 22:21:54 Post #10 user76

 
za skomponowanie do tego selectów w javascript zapłaciłem 50 zł Bo zwykłe kontrolki mi nie starczały.

2010-12-05 22:22:17 Post #11 gość_Comandeer

 
Nie, nie bawimy się w browser detection, ale w object detection! Jeśli wiadomo, że jakiś obiekt/własność stwarza błąd, to ją testujmy:
1
2
3
4
5
6
7
8
9
if(document.selection.createRange)
{
//mamy go
}
else
{
//kombinuj
}

Zawsze jeszcze można fragment kodu sprawiający najwięcej problemów opakować w try/catch i bawić się wyjątkami

Odpowiedz