Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.09.2011, 21:30
Новичок на форуме
Отправить личное сообщение для Aneksis Посмотреть профиль Найти все сообщения от Aneksis
 
Регистрация: 04.09.2011
Сообщений: 8

Странности с getElement
Всем ку!
Есть схемка - файл подключается на странице в следующем виде и должен выдавать картинку и ссылку для обновления этой картинки.
<script src="http://какой-то сайт/путь к скрипту/script.js" type=text/javascript></script>


На сайте, у которого запрашивают script.js выдается такой код в браузер
function reload_image()
{
  document.getElementById('myimage').src='http://какой-то сайт/путь к картинке';
}
document.write("<img src='http://какой-то сайт/путь к картинке' id=myimage><a href='javascript:reload_image()'>");

Работает все очень странно. В Google Chrome норм.
В Opere только на двойной клик)) В IE и в огнелисе нет. В сафари только один раз))).

Где перемудрил?
Ответить с цитированием
  #2 (permalink)  
Старый 04.09.2011, 22:26
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

как насчёт того чтоб теги закрыть для начала?
Ответить с цитированием
  #3 (permalink)  
Старый 04.09.2011, 22:32
Новичок на форуме
Отправить личное сообщение для Aneksis Посмотреть профиль Найти все сообщения от Aneksis
 
Регистрация: 04.09.2011
Сообщений: 8

Сообщение от dmitriymar Посмотреть сообщение
как насчёт того чтоб теги закрыть для начала?
Господи, да здесь просто решил не писать, да, теги у меня закрыты, если речь об этом.

document.write("<img src='http://какой-то сайт/путь к картинке' id=myimage><a href='javascript:reload_image()'>обновить</a>");
Ответить с цитированием
  #4 (permalink)  
Старый 04.09.2011, 22:57
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

<img src='http://какой-то сайт/путь к картинке' id='myimage'> .
Ответить с цитированием
  #5 (permalink)  
Старый 04.09.2011, 23:14
Новичок на форуме
Отправить личное сообщение для Aneksis Посмотреть профиль Найти все сообщения от Aneksis
 
Регистрация: 04.09.2011
Сообщений: 8

Сообщение от dmitriymar Посмотреть сообщение
<img src='http://какой-то сайт/путь к картинке' id='myimage'> .
Ребят, а серьезные ответы будут?
Ответить с цитированием
  #6 (permalink)  
Старый 04.09.2011, 23:37
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

куда еще серьёзней?кто здесь шутит? если myimage не переменная то она пишется в кавычках.если это переменная то в document.write строка должна иметь вид-
document.write("<img src='http://какой-то сайт/путь к картинке' id="+myimage+"><a href='javascript:reload_image()'>");

и соответственно в
document.getElementById('myimage').src='http://какой-то сайт/путь к картинке';
должна быть без кавычек.
да и document.write работает до того как документ загрузится.
Итого 3 строки и столько моментов где может быть ошибка-телепатов нет . да и с тегом img вопрос-если документ ХHtml-90%, то он не закрыт
И ещё одно если браузер старый то доступ к адресу изображения по ид может выделыватся-через нейм

Последний раз редактировалось dmitriymar, 04.09.2011 в 23:48.
Ответить с цитированием
  #7 (permalink)  
Старый 04.09.2011, 23:47
Новичок на форуме
Отправить личное сообщение для Aneksis Посмотреть профиль Найти все сообщения от Aneksis
 
Регистрация: 04.09.2011
Сообщений: 8

По порядку.
1. myimage это id картинки а не переменная.
2. То, что document.write срабатывает до загрузки документа, это ничего не меняет и не влияет на срабатывание функции после клика пользователя.

Все же хотелось бы услышать что-то по поводу несрабатывания getElementById. Вообщем, если идей, кроме кавычек нет - тему закрываю ввиду не профессионализма отвечающих)))
Ответить с цитированием
  #8 (permalink)  
Старый 04.09.2011, 23:50
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

консоль открой в браузере и посмотри ошибка будет myimage not defened,а то что в некоторых срабатывает-бразуеры могут ошибки подобные исправлять
document.write("<div id=myimage onclick='as()'>Нажми</div>");
function as()
{
alert(document.getElementById('myimage').id)
}

Последний раз редактировалось dmitriymar, 05.09.2011 в 00:06.
Ответить с цитированием
  #9 (permalink)  
Старый 04.09.2011, 23:57
Новичок на форуме
Отправить личное сообщение для Aneksis Посмотреть профиль Найти все сообщения от Aneksis
 
Регистрация: 04.09.2011
Сообщений: 8

Сообщение от dmitriymar Посмотреть сообщение
консоль открой в браузере и посмотри ошибка будет myimage not defened,а то что в некоторых срабатывает-бразуеры могут ошибки подобные исправлять
document.write("<div id=myimage onclick="alert(document.getElementById('myimage').id)>Нажми</div>");
В исходном коде все кавычки на месте. Повторюсь не срабатывает в IE и FireFox.
Ответить с цитированием
  #10 (permalink)  
Старый 05.09.2011, 00:02
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

вместо document.write использовать innerHTML если всё на месте то причина в нём или в незакрытом теге img. а так ты выложил код в каждой строке какого по ошибке и утверждаешь что в исходном всё норм. дистанционно догадаться что код здесь и у тебя это разный код-невозможно

Последний раз редактировалось dmitriymar, 05.09.2011 в 00:05.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Странности с insertBefore() kazimira6 Events/DOM/Window 2 04.07.2011 12:22
Странности в Chrome 8.0.552.224 и Opera 11 Akimserg Opera, Safari и др. 1 11.04.2011 22:43