<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">
window.location="http://www.google.com";
window.onload=init;
function init(){
var m = document.activeElement.value;
alert('The active element is '+m);
}
</script>
</head>
<body>
</body>
</html>
как поймать загрузку страницы?
Код:
убираем строчку
Код:
window.location="http://www.google.com";
и все ок, выдает сообщение
иными словами, когда загружаем пустую страницу, функция вызывается и т.п.
но когда заходим на сайт - никакого результата, будто страница недогружена о_О
подскажите, пожалуйста, что не так.
А что вы хотите сделать? Выполнить ЖС на странице чужого сайта?
Когда страница загрузится скрипт уже будет выгружен.
Цитата: KIV
Когда страница загрузится скрипт уже будет выгружен.
а как сделать чтобы скрипт грузился после загрузки страницы?
Цитата: FloyDos
а как сделать чтобы скрипт грузился после загрузки страницы?
Я использую такую функцию:
Код:
// from xpoint.ru
function AddOnLoad(f) {
var root = window.addEventListener || window.attachEvent ? window : document.addEventListener ? document : null
if (root){
if(root.addEventListener) root.addEventListener("load", f, false)
else if(root.attachEvent) root.attachEvent("onload", f)
} else {
if(typeof window.onload == 'function') {
var existing = window.onload
window.onload = function() {
existing()
f()
}
} else {
window.onload = f
}
}
}
// пример:
AddOnLoad(function () {
alert('I\m loaded now!');
});
function AddOnLoad(f) {
var root = window.addEventListener || window.attachEvent ? window : document.addEventListener ? document : null
if (root){
if(root.addEventListener) root.addEventListener("load", f, false)
else if(root.attachEvent) root.attachEvent("onload", f)
} else {
if(typeof window.onload == 'function') {
var existing = window.onload
window.onload = function() {
existing()
f()
}
} else {
window.onload = f
}
}
}
// пример:
AddOnLoad(function () {
alert('I\m loaded now!');
});
Код:
<script type="text/javascript">
function AddOnLoad(f) {
var root = window.addEventListener || window.attachEvent ? window :
document.addEventListener ? document : null
if (root){
if(root.addEventListener) root.addEventListener("load", f, false)
else if(root.attachEvent) root.attachEvent("onload", f)
} else {
if(typeof window.onload == 'function') {
var existing = window.onload
window.onload = function() {
existing()
f()
}
} else {
window.onload = f
}
}
}
window.location="http://www.google.com";
AddOnLoad(function () {
alert('I\m loaded now!');
});
</script>
function AddOnLoad(f) {
var root = window.addEventListener || window.attachEvent ? window :
document.addEventListener ? document : null
if (root){
if(root.addEventListener) root.addEventListener("load", f, false)
else if(root.attachEvent) root.attachEvent("onload", f)
} else {
if(typeof window.onload == 'function') {
var existing = window.onload
window.onload = function() {
existing()
f()
}
} else {
window.onload = f
}
}
}
window.location="http://www.google.com";
AddOnLoad(function () {
alert('I\m loaded now!');
});
</script>
то же самое. если убрать локейшн, то все ок работает - то есть при загрузке пустой страницы(
может в локейшн дело?
извините, может банальные вопросы, я в этом деле новичок совсем.
Тык конечно обработчик вызываться не будет, вы ж его ещё не задали! Поставьте location после вызова AddOnLoad()
ничего не поменялось. он как выдавал сообщение только на пустую страницу, так и выдает. а на загрузку с содержимым- вообще ничего
Цитата: FloyDos
ничего не поменялось. он как выдавал сообщение только на пустую страницу, так и выдает. а на загрузку с содержимым- вообще ничего
А, всё ясно, я невнимательно читал. Вам нужно поймать загрузку другой страницы, и вы хотите сделать это из скрипта на предыдущей странице? Так не получится.
- вы ставите обработчик на onload
- затем открываете другую страницу
- так как страница новая, то все данные о предыдущей стираются
- а когда страница уже собственно загрузилась, обработчик, естесственно, никто не ставил, поэтому ничего и не вызывается
Если вы хотите поймать загрузку другой страницы, то можно попробовать пошаманить с iframe + задавать её onload. Хотя в общем случае подобные манипуляции будут определены как попытка XSS и блокированы вменяемыми браузерами.
Зачем вам вообще надо ставить обработчик на загрузку ду=ругой страницы?
Цитата: Proger_XP
Зачем вам вообще надо ставить обработчик на загрузку ду=ругой страницы?
Хочу отправить в активное окно некоторый текст ;)
не морочьте себе голову, сделайте отправку по таймингу