это хорошо:) спасибо за помощь
|
Почему не работает <noscript>? Где ошибка?
Проверил в Opera и Firefox. Хотя указанно что вроде поддерживается везде.
<script type="text/javascript">
document.write("Hello World!")
</script>
<noscript>No script!</noscript>
UPD Вопрос отпадает наткнулся на ответ здесь на форуме. |
Читая Флэнагана наткнулся на незнакомый метод( на стр. 272 если кому интересно).
window.write() Копал но так и не нашел описания этого метода. Неужели это описка и имелось ввиду window.document.write()? |
UpJump
alert(window.write) Не зачем рыть горы теории - используй в таких случаях практический подход.)) |
все так. так и сделал с самого начала. получается в книге опечатка?
книга - JavaScript Флэнаган 5-е издание. 272 стр. |
Хз, смотреть лень.
Но может быть и так:
write=function(s) {return s}
alert(window.write)
|
Так то оно может быть, но в книге явно не создавалось свойства write.
Ладно. Сочтем за опечатку;) |
Цитата:
|
Сенепременно:) . Вот:
Часть вторая(или второй раздел если угодно). Клиентский Javascript Глава 13. Javascript в веб-броузерах. 13.5.7. Манипулирование в процессе загрузки. Там с самого начала. |
Цитата:
|
Ага. Значит все таки опечатка.
|
Всем привет! В очередной раз прошу достопочтеннейших участников форума помочь разобраться в очередной загвоздке.:)
Две функции. encodeURIComponent() и decodeURIComponent(). Никак не могу понять где они могут мне пригодиться. Вот к примеру: var str = "name=value"; alert(encodeURIComponent(str)); получил иную кодировку. В каком случае я могу получить к примеру похожий набор символов которые мне нужно будет в дальнейшем преобразовать через decodeURIComponent()? То есть: var str = "name%3Dvalue"; alert(decodeURIComponent(str)); Есть ли таблицы символов где можно узнать чему к примеру равно %3D? Вообще необходимо ли оно для дальнейшего изучения веб-программирования в целом? Короче БОЛЬШОЙ ПРОБЕЛ друзья:( . Помогите кто может ссылочкой ценной иль примером добрым:) UPD Изучаю по флэнагану. До post-ов и get-ов еще не дошел. Может ответ кроется там? |
|
блин. я ж с английским не в таких теплых отношениях. может что по-русски найдется?
|
тогда так, что б далеко не ходить :)
http://javascript.ru/encodeURIComponent |
От спасибо друг:thanks: . Держи +
|
Всем снова привет!:)
Назрел вопрос. Есть два файла: 1.html: <frameset rows="*, 75"> <frame src="about:blank" name="main"> <frame src="2.html"> </frameset> 2.html
<script>
function go(){
parent.main.alert(document.f.text.value);
}
</script>
<form name="f" onsubmit="go();return false;">
<input type="text" name="text" size="100">
<input type="button" value="go" onclick="go();">
</form>
В результате у меня 2 фрэйма. никак не разберусь почему не выходит отправить значение, при вводе его в поле, из одного фрэйма в другой. Выдает что window не имеет такого метода как alert(). Но ведь это не правда: window.alert(); UPD Проверил в ie и в лисе все ок. Но в ghrome выдает ошибку. |
лучше использовать DOM, а не M$
parent.frames['main'].alert(document.forms['f']['text'].value); |
все равно в хроме ноль по массе.
вот упростил задачу. 1.html <frameset rows="*, 75"> <frame src="about:blank" name="main"> <frame src="2.html"> </frameset> 2.html
<script>
if(parent.frames['main'].alert)alert("true");
else alert("false");
</script>
|
ну не знаю тогда,у меня все норм
http://21h.su/tmp/1.html UPD проверил, хром ругается если открывать как локальный хтмл (file:///....) |
Да спс. Я уже тоже сообразил:)
|
Цитата:
Цитата:
|
Matre, я тебя не понял.
|
Всем привет! Разбираюсь с DOM. Почему при первом вызове alert() не видит свойства tagName, но зато при вызове через функцию все ок? Как всегда скромно надеюсь на помощь:)
<script>
try {alert(document.body.tagName);}
catch(e) {alert(e);};
function f(){alert(document.body.tagName);};
</script>
<body>
<button onclick="f();">ok</button>
</body>
PS Народ можно ли переименовать тему? А то начиналось то все с одного вопроса, а разрослось в ценный для меня ресурс и название темы не соответствует вопросам. |
Потому что никакого body ещё нет. Как видно script идёт выше чем body, а запускается он по мере обработки страницы.
|
а ну тогда все ясно. я думал что js запускается уже после запуска html. спасибо Aetae, ты как всегда выручаешь:)
|
От спасибо , не знаю правда кому, за замену названия топика:thanks:
|
Продолжаю изучение DOM и снова проблема. Почему этот код не работает в Firefox и IE? Проверял только на Ghrome. Неужели браузер не видит текстовый узел?
<body onclick="this.firstChild.nodeValue = 'text'"> </body> UPD Проверил узел #text точно существует в Firefox. <body onclick="this.firstChild.nodeValue = 'text'"> </body> <script> var str; for(i=0;i<document.body.childNodes.length;i++) str+=document.body.childNodes[i]+'\n'; alert(str); </script> |
<body onclick="document.body.firstChild.nodeValue = 'text';alert(this)"> </body> |
Вот блин.. оказывается в файрфоксе this ссылается на window. В IE это просто объект. Спасибо Aetae, глупый вопрос, еще пока не добрался до обработчиков событий.
|
Да не, не глупый. Я вот честно говоря не знаю почему в фф this у body возвращает window.)
<div onclick="this.firstChild.nodeValue = 'text';alert(this)">//// </div> |
потому что обработчик на window ставится на самом деле, ff такой ff :)
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body onclick="alert([window.onclick,document.body.onclick]);">
</body>
</html>
|
Странно.. в чем тогда тут соль?
Этот код тупит только в ff. Вернее возвращает только undefined. <body onclick="alert(document.body.onclick);"> </body> Почему здесь событие работает только в ff?
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body onclick="alert(document.body.onclick);">
</body>
</html>
|
лучше вот на таком коде экспериментировать
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body onclick="alert([window.onclick,document.body.onclick]);" style="height: 50px; border: 1px solid red;">
</body>
</html>
в ff обработчик на самом деле назначается window, хоть и прописан для body. Видимо он считает, раз ты такое делаешь, значит хочешь отлавливать клики по всей странице. Похоже на то, что это наследие прошлого |
еще вопрос.
<body onclick="f();" style="height: 50px; width:100px; border: solid black;"></body>
<script>
function f(){
var str = document.body.style.width;
str = '50px';
alert(str);
}
</script>
Почему не срабатывает? alert пишет что str == 50px и все должно быть тип-топ. Вот другой вариант. Напрямую и все ок.
<body onclick="f();" style="height: 50px; width:100px; border: solid black;"></body>
<script>
function f(){
document.body.style.width = '50px';
}
</script>
|
А с какой радости изменение str должно повлечь изменение document.body.style.width? В JS только объекты копируются по ссылке, примитивы - по значению.
|
ясно. спс
|
всем привет! назрел вопрос.
<style>
div {
position:absolute;
width:100px;
height:100px;
background: red;
}
</style>
<script>
function f(){
var div = document.getElementsByTagName('div')[0];
div.style.opacity = 0;
setInterval(function(){div.style.opacity += .1;} , 10);
}
</script>
<body onclick='f();'>
<div></div>
</body>
opacity не увеличивается более чем на 0.1. Вот собсна и не пойму где я заглох?:( |
Вообще, стили - это строки. В итоге opacity получается "0.1.1", это не корректно, поэтому opacity остается "0.1"
|
В точку! не подумал, а стоило бы проверить. СПАСИБО!:)
|
| Часовой пояс GMT +3, время: 11:14. |