Чтобы упростить пример, допустим, у меня есть следующая веб-страница:
<html>
<input type="button" value="click me!" onclick="Confirmation()">
</html>
<script>
function Confirmation() {
if (window.confirm("Are you sure you want to proceed?")) {
alert("proceeded!");
}
}
</script>
Я пытаюсь внедрить мое расширение Chrome таким образом, чтобы оно либо перекрывало функцию подтверждения (),
, либо меняло его следующим образом:
<script>
function Confirmation() {
if (true) {
alert("proceeded!");
}
}
</script>
как мне этого достичь?
Edit:
Это решение, которое работало со мной:
@ функция элегантного пользователя
var jsCodeInjection = '' + function Confirmation() {
if (true) {
alert("proceeded cs!");
}
} + '';
var script = document.createElement('script');
script.textContent = jsCodeInjection;
(document.body||document.documentElement).appendChild(script);
script.remove();
Если вам нужен более понятный способ его реализации, то:
@ Направление Kaiido о том, как внедрить отдельный файл .js для более чистой реализации:
Вставить код в контекст страницы с помощью скрипта содержимого
Если элемент script имеет несколько функций, и вы пытаетесь переопределить одну (или несколько) из них,
, тогда вам нужно скопировать все функции в отдельный файл js и настроить нужные вам функции. настроить.