Hỗ trợ soạn thảo HTML trực tuyến

Em có chắc mấy cái WYSIWYG dùng IFRAME không ? anh thì cho là nó dùng DIV. Tất cả iframe đều có thể được thay bằng DIV.
 
Hử ? đi kèm Windows thì sao ?
Hàng đi kèm là hàng ghẻ
Em có chắc mấy cái WYSIWYG dùng IFRAME không ? anh thì cho là nó dùng DIV. Tất cả iframe đều có thể được thay bằng DIV.
Với cái script của VBB thì trên IE nó sử dụng div, trên Mozilla nó sử dụng iframe.
 
Hàng đi kèm là hàng ghẻ
Hay, câu này đúng nơi đúng chốn quá =D> :))

Với cái script của VBB thì trên IE nó sử dụng div, trên Mozilla nó sử dụng iframe
Ừ, anh cũng tham khảo 1 số editers khác, có cái nó còn dùng luôn cả <textarea> nữa cơ.
Khổ nhỉ, 1 trang web ra đời, cứ phải loay hoay cho nó phù hợp trong nhiều trình duyệt.
 
Textarea??? Textarea thì làm rì có chuyện nó paste ảnh vào trong được.

Bi giờ cũng chỉ có 2 engine lớn, Gecko & IE. Giải quyết được 2 cái đấy là coi như xong, KHTML cũng nổi nhưng chủ yếu tập trung ở Mac & *nix users.
 
Nó sử dụng iframe chứ ko phải là textarea. Vào xem wysiwyg.css, có đoạn

---------------------
.wysiwyg iframe {
width: 600px;
height: 301px;
*height: 308px; /* IE */
}
---------------------

Mà làm theo kiểu bọn nì thì mọi việc sẽ đơn giản hơn rất nhiều chứ ko rối rắm như vbb, tinymce,...
 
Trong HTML code nó ghi thế này mà:
HTML:
<form action="" method="get">

<textarea name="demo" class="wysiwyg wysiwyg.html">&lt;p&gt;Some initial content&lt;/p&gt;</textarea>

<input type="submit" />

</form>
---> À, nó gán cái iframe cho cái textarea hay sao ?
 
Với CSS như thế, nó sử dụng tag textarea nhưng trên thực tế lại là 1 iframe.
 
Ừ ok, nhưng tại sao nó phải làm thế :-/
 
Mở file wysiwyg.js, dòng 87 ---> 92:
Mã:
function createWysiwygControls() {
var textareas = document.getElementsByTagName("textarea");
for (var foo = 0; foo < textareas.length; foo++) {
if (textareas[foo].className.indexOf("wysiwyg") > -1) {
var wysiwyg = document.createElement("div");
var control = document.createElement("iframe");
Xuống dưới 1 chút có đoạn:
Mã:
wysiwyg.appendChild(control);
Xuống dưới tí nữa lại có:
Mã:
textarea.parentNode.replaceChild(wysiwyg, textareas[foo]);
Cụ thể nó chỉ tìm tất cả các textareas và thay thế = iframes.

Muốn rõ hơn thì dùng Firefox vào trang đó, sau đó vào Tools --> Dom Inspector, nó sẽ hiện rõ tự nhiên có thêm 1 iframe ở đúng vị trí cái textarea, còn cái textarea thì ko còn thấy đâu nữa.
 
Nó phải làm thế có thể là vì textarea dễ dùng hơn iframe vả lại bằng cách chỉ cần user set up 1 textarea ---> nó có thể đảm bảo users luôn luôn viết code đúng. Thêm vào đó nữa, với những site sẵn có, đến 99% là dùng textarea, chứ chẳng mấy ai dùng iframe để vào edit box cả ---> dễ thay đổi hơn.
 
Ừ phần code em nói thì anh có xem từ nãy rồi.
Em phân tích hay đấy ;)
Thế bây giờ, phải xem xem những thành phần nào là cần thiết nhất để làm 1 iframe WYSIWYG, em có thể suy nghĩ thêm chút được không ? anh thì vẫn chưa đủ trình độ phân tích tất cả :)
 
Ừ, trong cái trang mà anh tải cái file anh vừa đưa link ở trên (chả nhớ địa chỉ trang đấy là gì nữa), nó có nói đến execCommand. Nhưng mà nghe em nói ở trên, anh lại tưởng là cái execCommand chỉ chạy cho IE (mà IE là trình duyệt thối tha nhất) nên anh không ngó ngàng thêm. Thế mà bên Mozilla cũng có hử ? tức là ở trên em chỉ nói đến execCommand('copy') không chạy trên trình duyệt khác hả ?
 
Khi đã đụng đến clipboard tức là ko còn chỉ là browser nữa rùi vì clipboard ko phải là 1 thành phần của browser ---> nếu cái execCommand("copy") đó có chạy ở Firefox đi nữa, nhưng là Firefox chạy trên Windows thì nó sẽ vẫn chạy tốt, nhưng nếu là Firefox trên *nix hoặc Mac OS thì chưa chắc. (Chắc chắn ko chạy trên Linux & FreeBSD).
 
Ừ, thế không biết ở VN mình thì tỉ lệ người dùng các thứ khác Windows là bao nhiêu nhỉ ? có đáng bận tâm không ?
 
Ừ thì.. chỉ hỏi thế thôi mà :p chứ còn lúc làm thì vẫn cố gắng cho nó hoàn hảo nhất có thể :D
 
Hic, bó tay... cái này anh phải hỏi em rồi /:)
Bây giờ anh muốn lấy được giá trị đoạn text anh bôi đen trong cái textarea ở trang của anh, làm thế nào đây ? :-/
Anh định làm mấy cái thẻ <b>, <i>, <u>... cho nó ý mà!
 
Back
Bên trên