Làm thế nào để vô hiệu hóa HTML Clean Up trong khi ở chế độ soạn thảo? Tôi đang cần cho phép định dạng css & html nội tuyến trong mã. Ý tưởng là tắt trình phân tích cú pháp và làm sạch html khi dán mã và nhập Trình chỉnh sửa để chỉnh sửa. Cảm ơn.Làm thế nào để vô hiệu hóa wysihtml5 HTML Clean Up in Editor?
Trả lời
Thực ra, đây là những gì mà quy tắc của trình phân tích cú pháp dành cho.
Bạn có thể đính kèm quy tắc tùy chỉnh của mình vào số var wysihtml5ParserRules
được bao gồm trước khi khởi tạo đối tượng trình chỉnh sửa hoặc chỉ tạo đối tượng quy tắc của riêng bạn và cung cấp cho hàm tạo của trình soạn thảo.
Ví dụ, để cho phép h1 và h3 thẻ, thêm vào các thẻ cho phép trong các quy tắc ví dụ đơn giản phân tán, bạn cần phải thiết lập như sau:
<form>
<div id="toolbar" style="display: none;">
<a data-wysihtml5-command="bold" title="CTRL+B">bold</a> |
<a data-wysihtml5-command="italic" title="CTRL+I">italic</a>
<a data-wysihtml5-action="change_view">switch to html view</a>
</div>
<textarea id="textarea" placeholder="Enter text ..."></textarea>
<br><input type="reset" value="Reset form!">
</form>
<!-- The distributed parser rules -->
<script src="../parser_rules/simple.js"></script>
<script src="../dist/wysihtml5-0.4.0pre.min.js"></script>
<script>
// attach some custom rules
wysihtml5ParserRules.tags.h1 = {remove: 0};
wysihtml5ParserRules.tags.h3 = {remove: 0};
var editor = new wysihtml5.Editor("textarea", {
toolbar: "toolbar",
parserRules: wysihtml5ParserRules,
useLineBreaks: false
});
</script>
Bây giờ, khi bạn nhập/dán <title>test</title>
vào trình chỉnh sửa, trong khi bạn đang ở chế độ trình chỉnh sửa và sau đó chuyển sang chế độ xem html, bạn sẽ nhận được <title>test</title>
. Và khi bạn quay lại chế độ xem trình chỉnh sửa, bạn sẽ lại nhận được <title>test</title>
.
Đó là phần chung.
Bây giờ, trong trường hợp của bạn, tôi không chắc liệu ý tưởng hay nhất là làm việc với 121 quy tắc phân tích cú pháp tùy chỉnh (số lượng thẻ HTML để xử lý) hoặc sẽ không tốt hơn để dành thời gian và đào vào mã nguồn để tìm một giải pháp hiệu suất hơn (không có ý nghĩa nhiều khi nói với một trình phân tích cú pháp để thực tế, chỉ cần trả lại chuỗi đầu vào, đúng không?). Hơn nữa, bạn nói bạn cũng muốn cho phép CSS. Vì vậy, quy tắc phân tích cú pháp tùy chỉnh của bạn thậm chí sẽ mở rộng.
Dù sao, làm điểm xuất phát, vui lòng sử dụng bộ quy tắc phân tích cú pháp tùy chỉnh của tôi tại đây: https://github.com/eyecatchup/wysihtml5/blob/master/parser_rules/allow-all-html5.js.
Vâng, đây là câu trả lời đúng, cảm ơn! – duy
Bạn có thể cung cấp chức năng nhận dạng làm thuộc tính trình phân tích cú pháp khi khởi tạo trình chỉnh sửa wysihtml5. Kịch bản bên dưới là đoạn trích coffeescript vô hiệu hóa dọn dẹp hoàn toàn.
enableWysiwyg: ->
@$el.find('textarea').wysihtml5
"style": false
"font-styles": false #Font styling, e.g. h1, h2, etc. Default true
"emphasis": true #Italics, bold, etc. Default true
"lists": false #(Un)ordered lists, e.g. Bullets, Numbers. Default true
"html": true #Button which allows you to edit the generated HTML. Default false
"link": false #Button to insert a link. Default true
"image": false #Button to insert an image. Default true,
"color": false #Button to change color of font
parser: (html) -> html
phiên bản JavaScript của đoạn code trên:
$('textarea').wysihtml5({
"style": false,
"font-styles": false,
"emphasis": true,
"lists": false,
"html": true,
"link": false,
"image": false,
"color": false,
parser: function(html) {
return html;
}
});
Và điều này sẽ trông như thế nào trong javascript cũ đơn giản? – jahu
@MarcinHabuszewski coffeescript trên [biên dịch cho điều này] (https://gist.github.com/smabbott/26b3295608db37340b4b). – smabbott
@Ilja Cảm ơn bạn đã viết mã. Sẽ tốt hơn nếu bạn có thể đưa nó vào câu trả lời trên SO. – jahu
- 1. Final clean up in specs2
- 2. Làm thế nào để vô hiệu hóa pop up bảo mật của MS Outlook trong C#?
- 3. Làm thế nào để vô hiệu hóa hình ảnh "chấm" trong Visual Studio Editor
- 4. Làm thế nào để vô hiệu hóa textarea TinyMCE của
- 5. Làm thế nào tôi có thể vô hiệu hóa Cider (WPF Gui Editor) trong VS2008?
- 6. Vô hiệu hóa Intellisense trong XAML Editor trong VS2008?
- 7. Làm thế nào để vô hiệu hóa subversion trong netbeans
- 8. Làm thế nào để vô hiệu hóa cảnh báo #pragma?
- 9. Làm thế nào để vô hiệu hóa nút trong UIActionSheet?
- 10. Làm thế nào để vô hiệu hóa google maps kéo
- 11. Làm thế nào để vô hiệu hóa rìa trong Emacs?
- 12. WPF Làm thế nào để vô hiệu hóa DropShadowEffect
- 13. C# Làm thế nào để vô hiệu hóa một phím
- 14. Làm thế nào để vô hiệu hóa PerfWatson trong VS2012?
- 15. Làm thế nào để vô hiệu hóa Tomcat trang chủ
- 16. Làm thế nào để vô hiệu hóa javax.swing.JButton trong java?
- 17. Làm thế nào để vô hiệu hóa OUTFILE và INFILE?
- 18. làm thế nào để vô hiệu hóa fling của scrollView
- 19. Làm thế nào để vô hiệu hóa DrawerLayout Shadow
- 20. Làm thế nào để vô hiệu hóa bộ đệm sâu?
- 21. Làm thế nào để vô hiệu hóa mod_deflate trong apache2?
- 22. emacs:. Làm thế nào để vô hiệu hóa # file tạo
- 23. Làm thế nào để vô hiệu hóa cảnh báo python
- 24. Intellij IDEA tự động gắn thẻ HTML, làm thế nào để vô hiệu hóa nó?
- 25. làm thế nào để vô hiệu hóa toàn bộ điều khiển thả xuống trong html
- 26. Làm thế nào để vô hiệu hóa định dạng Javascript/HTML điên trong Visual Studio 2008?
- 27. làm thế nào để vô hiệu hóa tối ưu hóa nội tuyến với jvm mặt trời?
- 28. Làm cách nào để kiểm tra, vô hiệu hóa điều kiện, ... với trình trợ giúp html?
- 29. Làm thế nào vô hiệu hóa RequiredFieldValidator trong script
- 30. vô hiệu hóa tất cả các yếu tố trong html
Bạn đã bao giờ tìm thấy một giải pháp cho vấn đề này? – Wallter