|
|
|
| Здравствуйте! Может кто нибудь подсказать, почему, когда я пытаюсь сделать замену в тексте документа таким методом:
function test() {
var d = document.getElementsByTagName('body')[0];
var s = d.innerHTML.replace('1', '2');
d.innerHTML = s;
}
|
замена получается, стиль страницы сохраняется, но перестают работать формы (при нажатии на submit ничего не происходит), и код, который находится вне <script></script> тоже не выполняется? | |
|
|
|
|
|
|
|
для: komex
(20.04.2008 в 14:21)
| | замена НЕ ПОЛУЧАЕТСЯ - это вам по-идиотски показалось.
всё остальное, соответственно - херня, вами выдуманная.
Метод replace применим ТОЛЬКО к объекту location.
Т.е ВСЁ, вами написанное - это бред идиота!
Вы уж не обижайтесь на правду... | |
|
|
|
|
|
|
|
для: komex
(20.04.2008 в 14:21)
| | Добрый вечер!
komex, у меня при выполнении твоего кода все в порядке, формы субмитятся, дай дополнительную инфу.
Про то что replace - метод для Location - без комментариев, хорошая шутка =) | |
|
|
|
|
|
|
|
для: Апельсин
(21.04.2008 в 01:08)
| | С объектами страницы работают методы
replaceAdjacentText
replaceChild
replaceNode
а вот метод replace работает исключительно при объект location.
Если у тебя, метод replace в каком-то браузере вдруг работает при каком-то ином (не location) объекте, то это должно вызывать удивление (ибо это - БАГ!).
[поправлено модератором] | |
|
|
|
|
|
|
|
для: CNTv2.0
(21.04.2008 в 01:46)
| | CNTv2.0, обрати пожалуйста внимание на то, что в данном примере мы применяем этот метод для строки, а не для объекта. | |
|
|
|
|
|
|
|
для: Апельсин
(21.04.2008 в 01:08)
| | Не знаю, важно это или нет, но я делаю это для Opera (UserJS). Замена происходит, но формы не сабмитятся и не весь код JS (на странице который) выполняется. Но дело на самом деле даже не в замене (это можно и подругому сделать), а дело с такой связке:
var d = document.getElementsByTagName('body')[0];
var s = d.innerHTML;
d.innerHTML = s;
|
| |
|
|
|