Hướng dẫn append alternative javascript - nối javascript thay thế

Ví dụ,

var newElement = document.createElement['div'];
newElement.innerHTML = "

new content

alert['Hello World!']"; element.appendChild[newElement];​​​​​​​​​​​​​​​​

Kết quả: "Nội dung mới" được thêm vào trong trang nhưng sẽ không có cảnh giác nào nói Hello World!

Tôi đã thử InsideHtml, InsertAdjacenthtml, Phụ lục, Phương pháp phụ lục. Nhưng vấn đề là JS và CSS không tải động.

Trong jQuery, after[] hoạt động 👍🏻

$[selector].after["

new content

alert['Hello World!']"];

Có bất kỳ tương đương cho JavaScript thuần túy?

Ông Polywhirl

36.6K12 Huy hiệu vàng76 Huy hiệu bạc124 Huy hiệu đồng12 gold badges76 silver badges124 bronze badges

Hỏi ngày 11 tháng 4 lúc 16:27Apr 11 at 16:27

Bạn có thể sử dụng eval để thực thi các tập lệnh của mình dưới các định dạng chuỗi. JQuery cũng sử dụng eval trong một số phần của thao tác DOM dưới mui xe.

const content = "

new contentalert['Hello World!']"; const newElement = document.createElement['div']; newElement.innerHTML = content const scriptRegex = /[? { const el = document.createElement['div']; el.innerHTML = domHTML; document.body.appendChild[el]; document.body.append[document.createRange[].createContextualFragment[scriptHTML]]; }; const domHTML = `

new content`; const scriptHTML = ` alert['Hello World!']; `; insertHTML[domHTML, scriptHTML];

Logic này đã được mượn từ câu trả lời của Tilak Maddy trong một câu hỏi liên quan.

Đã trả lời ngày 11 tháng 4 lúc 16:51Apr 11 at 16:51

Ông Polywhirlmr. PolywhirlMr. Polywhirl

36.6K12 Huy hiệu vàng76 Huy hiệu bạc124 Huy hiệu đồng12 gold badges76 silver badges124 bronze badges

Hỏi ngày 11 tháng 4 lúc 16:27

  1. Bạn có thể sử dụng eval để thực thi các tập lệnh của mình dưới các định dạng chuỗi. JQuery cũng sử dụng eval trong một số phần của thao tác DOM dưới mui xe.
  2. Lưu ý bên, đối với trường hợp của bạn, không có cách nào được gọi là an toàn để chuyển đổi các chuỗi thành tập lệnh vì ai đó có thể đưa các tập lệnh độc hại vào chuỗi của bạn và thực hiện chúng mà không cần thông báo của bạn, vì vậy bạn cần đảm bảo tất cả các chuỗi của bạn nằm dưới sự kiểm soát của bạn. Bạn có thể kiểm tra tấn công XSS để hiểu rõ hơn.
  3. Đã trả lời ngày 11 tháng 4 lúc 16:53

Nick Vunick Vu

var script = document.createElement['script'];
    script.src = 'some url'; // use this for external scripts
    script.innerHTML = 'your script'; // use this for writing your own script content

document.getElementsByTagName['head'][0].appendChild[script];

marc_s

11.9k2 Huy hiệu vàng17 Huy hiệu bạc27 Huy hiệu đồng171 gold badges1315 silver badges1433 bronze badges

Nếu bạn chắc chắn về nội dung

$[selector].after["

new content

alert['Hello World!']"];
1 là
$[selector].after["

new content

alert['Hello World!']"];
2 và chứa một chuỗi có HTML hợp lệ, bạn có thể sử dụng phạm vi.CreateContextualFragment [] [thực thi các tập lệnh 🚨]Apr 11 at 16:49

Bài Viết Liên Quan

Chủ Đề