Hướng dẫn which attribute do you use to replace innerhtml in the? - bạn sử dụng thuộc tính nào để thay thế innerhtml trong?

Item ${list.children.length + 1}`; 0]:

HTML


  Item 1
  Item 2
  Item 3

JavaScript

const list = document.getElementById["list"];

list.innerHTML += `
  • Item ${list.children.length + 1}
  • `
    ;

    Xin lưu ý rằng sử dụng

    document.body.innerHTML = "";
    
    3 để nối các yếu tố HTML [ví dụ:
    const list = document.getElementById["list"];
    
    list.innerHTML += `
  • Item ${list.children.length + 1}
  • `
    ;
    2] sẽ dẫn đến việc loại bỏ bất kỳ trình nghe sự kiện được đặt trước đó. Đó là, sau khi bạn nối bất kỳ phần tử HTML nào theo cách bạn sẽ không thể nghe người nghe sự kiện đã đặt trước đó.

    Cân nhắc về Bảo mật

    Không có gì lạ khi thấy

    document.body.innerHTML = "";
    
    3 được sử dụng để chèn văn bản vào một trang web. Có khả năng để trở thành một vector tấn công trên một trang web, tạo ra rủi ro bảo mật tiềm năng.

    let name = "John";
    // assuming 'el' is an HTML DOM element
    el.innerHTML = name; // harmless in this case
    
    // …
    
    name = "alert['I am John in an annoying alert!']";
    el.innerHTML = name; // harmless in this case
    

    Mặc dù điều này có thể trông giống như một cuộc tấn công kịch bản chéo trang, nhưng kết quả là vô hại. HTML chỉ định rằng thẻ

    const list = document.getElementById["list"];
    
    list.innerHTML += `
  • Item ${list.children.length + 1}
  • `
    ;
    4 được chèn bằng
    document.body.innerHTML = "";
    
    3 không nên thực thi.

    Tuy nhiên, có nhiều cách để thực hiện JavaScript mà không cần sử dụng các phần tử

    const list = document.getElementById["list"];
    
    list.innerHTML += `
  • Item ${list.children.length + 1}
  • `
    ;
    4, do đó vẫn có rủi ro bảo mật bất cứ khi nào bạn sử dụng
    document.body.innerHTML = "";
    
    3 để đặt các chuỗi mà bạn không có quyền kiểm soát. Ví dụ:

    const name = "";
    el.innerHTML = name; // shows the alert
    

    Vì lý do đó, nên thay vì

    document.body.innerHTML = "";
    
    3 bạn sử dụng:

    • document.documentElement.innerHTML = `
      ${document.documentElement.innerHTML.replace[/

    Bài Viết Liên Quan

    Chủ Đề