2017-10-15 9 views

Trả lời

3

Chỉ là một ý tưởng. Có thể bạn có thể chèn một tập lệnh có mã này vào phần đầu của html mà bạn đang tải:

(function(){ 
    const oldEval = window.eval; 
    window.eval = function() { 

     // communicate here with your Java program that eval has been 
     // called. Maybe you can use the postMessage method? 

     return oldEval.apply(this, arguments); 
    }; 
})(); 

Với điều này, bạn chiếm quyền eval và bạn có thể thực hiện một số mã mỗi lần gọi eval. Nếu bạn tìm ra cách tốt để liên lạc lại với chương trình của bạn thì có lẽ nó hoạt động.

Không chắc chắn có vấn đề hay không, nhưng Javascript có nhiều cách để đánh giá mã trong khi chạy, không chỉ là eval. Vì vậy, điều này là cướp một cuộc gọi trực tiếp đến eval, nhưng không xem xét các khả năng đánh giá khác như sử dụng hàm tạo hoặc hàm setTimeout.

+0

Ồ, xin lỗi, đọc sai, bỏ qua. –

+0

Chờ, làm thế nào tôi có thể tiêm mã vào một kịch bản, chỉ cần cho liên kết trang web? – ilikeyoyo

Các vấn đề liên quan