[закрыто] Opera + JavaScript

maggi14

как добавить обработчик события к документу?
В <head> документа есть скрипт. Естественно, он идет раньше, чем все тело страницы.
Хочу, чтобы после загрузки документа вызывалась функция.
По документации, надо использовать document.addEventListener либо window.attachEvent.
В ИЕ работает только второй вариант. В опере и фф не работает ни первый, ни второй. Ошибок никаких в консоль не выводит, просто не работает.
Интересует решение для Опера7+.

dedwowan

Если тебе надо после загрузки документа вызывать функцию, то тебе поможет тэг onload в body

maggi14

я не имею доступа к тэгу "боди", он появляется после того, как линкуется мой скрипт.

dedwowan

Вообще так не бывает, чтобы человек не имел доступа к body
Некие подобные решения я видел когда разрюхивал ActiveX, но соменваюсь, что они заработают под оперой.
Проще найти обходной путь

maggi14

Еще как бывает. Задача вполне конкретная: ко мне приходит форум с таким хедом:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<link rel="stylesheet" href="/stylesheets/nami-grad.css" type="text/css" />
<script src="c:\1.js" type="text/javascript"></script>
<title>Reply to (Programming) - Public forum of MSU student society</title>
</head>
Ессно, c:\1.js пока ничего делать с документом не может, поскольку тот пока не загрузился. Что делать?

dedwowan

Это не конкретная задача, а твоя трансляция проблемы, которая возникла при решении конкретной задачи.

maggi14

Тогда предложи другое решение.
Я сформулировал условия задачи: ко мне приходит именно такой хед.
Желаемый результат: хочу работать с объектами пришедшего документа.
Как это сделать в опере7?

artimon

С некоторых пор я делаю так:
oldOnLoadFunc = window.onload;
window.onload = function {
// my code here before old onLoad function
if(typeof oldOnLoadFunc == 'function') {
oldOnLoadFunc;
}
// my code here after old onLoad function
}
Если других onLoad функций нет, то ещё проще:
window.onload = function {
// my code here
}

maggi14

Спасибо, попробую

dedwowan

Так к тебе приходит такой хед или к тебе приходит боди, который дописываешь после хедера?

maggi14

мне приходит такой документ с таким хедом, где линк на локальный скрипт, а далее - какой-то боди, с которым я хочу работать. Ессно, единственное место, где я могу что-то написать - это в локальном скрипте.

maggi14

Есть подозрение, что Opera вообще не подгружает скрипты с другого домена, нежели домен документа, такое может быть? Если да, то как с этим бороться?

artimon

У меня всё грузит.

maggi14

Все, всем спасибо, разобрался. Надо было прописать не c:\1.js, а
Оставить комментарий
Имя или ник:
Комментарий: