Hướng dẫn how do i render html in html? - làm cách nào để kết xuất html trong html?

Trên thực tế có một cách để làm điều này. Nó có giới hạn (một), nhưng là tiêu chuẩn 100%, không được chấp nhận (như XMP) và hoạt động.

Và nó là tầm thường. Đây là:


Xin vui lòng cho tôi giải thích. Trước hết, nhận xét HTML thông thường thực hiện công việc, để ngăn chặn toàn bộ khối được giải thích. Bạn có thể dễ dàng thêm vào bất kỳ thẻ nào, tất cả chúng sẽ bị bỏ qua. Bị bỏ qua từ giải thích, nhưng vẫn có sẵn thông qua innerHTML! Vì vậy, những gì còn lại, là để có được nội dung, và lọc các mã thông báo nhận xét trước và theo dõi.

Ngoại trừ (hãy nhớ-giới hạn) bạn không thể đặt các bình luận HTML bên trong, vì (ít nhất là trong chrome của tôi) làm tổ của chúng không được hỗ trợ, và trước tiên '->' sẽ kết thúc chương trình.

Chà, đó là một giới hạn nhỏ khó chịu, nhưng trong một số trường hợp, đó không phải là vấn đề gì cả, nếu văn bản của bạn không có nhận xét HTML. Và, dễ dàng hơn để thoát khỏi một cấu trúc, sau đó là một loạt chúng.

Bây giờ, chuỗi

    var converter = new showdown.Converter();
    converter.setOption('simplifiedAutoLink', true);
    converter.setOption('tables', true);
    converter.setOption('tasklists', true);
    var src = document.getElementById("mydoc-src");
    var res = document.getElementById("mydoc-res");
    res.innerHTML = converter.makeHtml(src.innerHTML)
            .replace(/

.{0,10}LlNnlljn77fggggkk77csJJK8bbJBKJBkjjjjbbbJJLJLLJo.{0,10}<\/p>/g, ""); src.innerHTML = '';

0 kỳ lạ đó là gì? Đó là một chuỗi ngẫu nhiên, giống như một hàm băm, không có khả năng được sử dụng trong khối và được sử dụng cho? Đây là bối cảnh, tại sao tôi đã sử dụng nó. Trong trường hợp của tôi, tôi đã lấy nội dung của một div, sau đó xử lý nó bằng dấu hiệu showdown, và sau đó đầu ra được gán vào một div khác. Ý tưởng là, để viết Markdown Inline trong tệp HTML và chỉ cần mở trong trình duyệt và nó sẽ biến đổi trên tải trọng trên mạng. Vì vậy, trong trường hợp của tôi,
    var converter = new showdown.Converter();
    converter.setOption('simplifiedAutoLink', true);
    converter.setOption('tables', true);
    converter.setOption('tasklists', true);
    var src = document.getElementById("mydoc-src");
    var res = document.getElementById("mydoc-res");
    res.innerHTML = converter.makeHtml(src.innerHTML)
            .replace(/

.{0,10}LlNnlljn77fggggkk77csJJK8bbJBKJBkjjjjbbbJJLJLLJo.{0,10}<\/p>/g, ""); src.innerHTML = '';

1 đã trở nên chuyển đổi thành
    var converter = new showdown.Converter();
    converter.setOption('simplifiedAutoLink', true);
    converter.setOption('tables', true);
    converter.setOption('tasklists', true);
    var src = document.getElementById("mydoc-src");
    var res = document.getElementById("mydoc-res");
    res.innerHTML = converter.makeHtml(src.innerHTML)
            .replace(/

.{0,10}LlNnlljn77fggggkk77csJJK8bbJBKJBkjjjjbbbJJLJLLJo.{0,10}<\/p>/g, ""); src.innerHTML = '';

2, nhận xét đã trốn thoát đúng cách. Nó hoạt động, nhưng làm ô nhiễm màn hình. Vì vậy, để dễ dàng loại bỏ nó bằng regex, chuỗi ngẫu nhiên đã được sử dụng. Đây là mã:

    var converter = new showdown.Converter();
    converter.setOption('simplifiedAutoLink', true);
    converter.setOption('tables', true);
    converter.setOption('tasklists', true);
    var src = document.getElementById("mydoc-src");
    var res = document.getElementById("mydoc-res");
    res.innerHTML = converter.makeHtml(src.innerHTML)
            .replace(/

.{0,10}LlNnlljn77fggggkk77csJJK8bbJBKJBkjjjjbbbJJLJLLJo.{0,10}<\/p>/g, ""); src.innerHTML = '';

Và nó hoạt động.

Nếu ai đó quan tâm, bài viết này được viết bằng kỹ thuật này. Hãy tải xuống, và nhìn vào bên trong tệp HTML.

Nó phụ thuộc vào những gì bạn đang sử dụng nó cho. Có phải là người dùng đầu vào không? Sau đó sử dụng

    var converter = new showdown.Converter();
    converter.setOption('simplifiedAutoLink', true);
    converter.setOption('tables', true);
    converter.setOption('tasklists', true);
    var src = document.getElementById("mydoc-src");
    var res = document.getElementById("mydoc-res");
    res.innerHTML = converter.makeHtml(src.innerHTML)
            .replace(/

.{0,10}LlNnlljn77fggggkk77csJJK8bbJBKJBkjjjjbbbJJLJLLJo.{0,10}<\/p>/g, ""); src.innerHTML = '';

3 và thoát khỏi mọi thứ. Trong trường hợp của tôi, và có lẽ đó cũng là trường hợp của bạn, tôi chỉ đơn giản là sử dụng bình luận và nó thực hiện công việc. In my case, and probably it's your case too, I simply used comments, and it does the job.

Nếu bạn không sử dụng Markdown và chỉ muốn lấy nó như từ một thẻ, thì nó thậm chí còn đơn giản hơn:


và mã JavaScript để lấy nó:

    var src = document.getElementById("mydoc-src");
    var YOUR_CODE = src.innerHTML.replace(/()/g, "");


Tạo một biến chứa mã HTML và hiển thị nó trong nút "gốc":

Nút gốc


Nút gốc là phần tử HTML nơi bạn muốn hiển thị kết quả.

Nó giống như một container cho nội dung được quản lý bởi React.

Nó không phải là một yếu tố

    var converter = new showdown.Converter();
    converter.setOption('simplifiedAutoLink', true);
    converter.setOption('tables', true);
    converter.setOption('tasklists', true);
    var src = document.getElementById("mydoc-src");
    var res = document.getElementById("mydoc-res");
    res.innerHTML = converter.makeHtml(src.innerHTML)
            .replace(/

.{0,10}LlNnlljn77fggggkk77csJJK8bbJBKJBkjjjjbbbJJLJLLJo.{0,10}<\/p>/g, ""); src.innerHTML = '';

7 và nó không phải có

0:

Nút gốc có thể được gọi là bất cứ điều gì bạn thích:

Hiển thị kết quả trong phần tử


1:

Tôi có thể nhập HTML vào HTML không?

Thí dụ

Hiển thị một đoạn bên trong một phần tử với ID của "Root":

ReactDOM.render(

Hello

, document.getElementById('root'));

Kết quả được hiển thị trong phần tử

    var converter = new showdown.Converter();
    converter.setOption('simplifiedAutoLink', true);
    converter.setOption('tables', true);
    converter.setOption('tasklists', true);
    var src = document.getElementById("mydoc-src");
    var res = document.getElementById("mydoc-res");
    res.innerHTML = converter.makeHtml(src.innerHTML)
            .replace(/

.{0,10}LlNnlljn77fggggkk77csJJK8bbJBKJBkjjjjbbbJJLJLLJo.{0,10}<\/p>/g, ""); src.innerHTML = '';

8:


  

Chạy ví dụ »

Lưu ý rằng ID phần tử không phải được gọi là "gốc", nhưng đây là quy ước tiêu chuẩn.



Mã HTML

Mã HTML trong hướng dẫn này sử dụng JSX cho phép bạn viết các thẻ HTML bên trong mã JavaScript:

Đừng lo lắng nếu cú ​​pháp không quen thuộc, bạn sẽ tìm hiểu thêm về JSX trong chương tiếp theo.

Thí dụ

Tạo một biến chứa mã HTML và hiển thị nó trong nút "gốc":

const myelement = (
  
Name
John
Elsa
); ReactDOM.render(myelement, document.getElementById('root'));

Chạy ví dụ »


Lưu ý rằng ID phần tử không phải được gọi là "gốc", nhưng đây là quy ước tiêu chuẩn.

Mã HTML

Nó giống như một container cho nội dung được quản lý bởi React.

Nó không phải là một yếu tố

    var converter = new showdown.Converter();
    converter.setOption('simplifiedAutoLink', true);
    converter.setOption('tables', true);
    converter.setOption('tasklists', true);
    var src = document.getElementById("mydoc-src");
    var res = document.getElementById("mydoc-res");
    res.innerHTML = converter.makeHtml(src.innerHTML)
            .replace(/

.{0,10}LlNnlljn77fggggkk77csJJK8bbJBKJBkjjjjbbbJJLJLLJo.{0,10}<\/p>/g, ""); src.innerHTML = '';

7 và nó không phải có

0:

Thí dụ

Nút gốc có thể được gọi là bất cứ điều gì bạn thích:



  

Hiển thị kết quả trong phần tử


1:

ReactDOM.render(

Hallo

, document.getElementById('sandy'));

Chạy ví dụ »



Tôi có thể nhập HTML vào HTML không?

Nhờ nhập HTML5 mới, giờ đây chúng ta có thể sử dụng phần tử „để tải một tệp HTML vào một tệp khác..

Những gì được sử dụng để hiển thị HTML?

Kết xuất là một quá trình được sử dụng trong phát triển web biến mã trang web thành các trang tương tác mà người dùng nhìn thấy khi họ truy cập một trang web.Thuật ngữ này thường đề cập đến việc sử dụng mã HTML, CSS và JavaScript.Quá trình này được hoàn thành bởi một công cụ kết xuất, phần mềm được trình duyệt web sử dụng để hiển thị một trang web.rendering engine, the software used by a web browser to render a web page.