это хорошо:) спасибо за помощь
|
Почему не работает <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, время: 21:37. |