Я попытался запустить простой код для замены строк в теле страницы HTML в JS.Запуск JavaScript в консоли браузера против букмарклета
document.body.innerHTML = document.body.innerHTML.replace(/foo/g,"bar");
Приведенный выше код работает отлично в консоли браузера (проверено в Firefox и Chrome), но когда я запускаю тот же через букмарклет JavaScript с префиксом javascript:
, разрывов страниц, теряя все свои элементы стиля.
Мне просто интересно, почему код ведет себя по-другому, поскольку я думал, что JS-код, запущенный в консоли или через букмарклеты, будет запущен в той же среде.
Что происходит с идентификатором того, что возвращаемое значение из вашего назначения заменяет содержимое страницы. Вы можете добавить «, return false» в конце, чтобы избежать этого. – diegog