14.05.2010, 12:15
|
|
Матрос
|
|
Регистрация: 04.04.2008
Сообщений: 6,246
|
|
Сообщение от Kolyaj
|
Мне помогло после добытия функций setTimeout(function() {}, 3600 * 24 * 1000);
|
не совсем понял
это вызывается из контекста убиваемого фрейма?
и в чем смысл?
|
|
14.05.2010, 12:30
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Нет, там, где функции достаются.
encodeURIComponent = iframe.contentWindow.encodeURIComponent;
Array_push = iframe.contentWindow.Array.prototype.push;
document.documentElement.removeChild(iframe);
setTimeout(function() {}, 3600 * 24 * 1000);
Тут как вариант, я думаю, было бы вынести переменную iframe выше в области видимости, чтобы её GC не собрал. Но мне лучше так, чем лишнюю переменную вытаскивать.
|
|
14.05.2010, 17:21
|
|
Рассеянный профессор
|
|
Регистрация: 06.04.2009
Сообщений: 2,379
|
|
Сообщение от Kolyaj
|
С addEventListener всё просто, вытаскиваем его у любого элемента и вызываем в контексте window
|
первое что я попробовал, но у меня как не работало так и не работает:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<head>
<title>blank</title>
<script type="text/javascript">
function addEventListener() {}
document.createElement('div').addEventListener.call(window, 'resize', function() {
alert('OK!');
}, false);
</script>
</head>
<body>
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
</body>
</html>
|
|
14.05.2010, 17:27
|
|
Профессор
|
|
Регистрация: 03.04.2009
Сообщений: 1,263
|
|
Riim, так где именно не работает? У меня в FF и в Опере работает, и Ваш код, и через window.constructor.prototype.addEventListener.call
|
|
14.05.2010, 17:41
|
|
Рассеянный профессор
|
|
Регистрация: 06.04.2009
Сообщений: 2,379
|
|
Сообщение от e1f
|
У меня в FF и в Опере работает
|
верю, но у меня ни в FF ни в Chrome не работает, хотя должно. Тот код что выше это ctrl+a => ctrl+c => ctrl+v , т. е. вообще без изменений.
Сообщение от e1f
|
window.constructor.prototype.addEventListener.call
|
я так же сделал .
со второй задачкой долго пытался что-то такое выдумать: (new window.constructor()).encodeURIComponent , но никак .
Последний раз редактировалось Riim, 14.05.2010 в 17:43.
|
|
14.05.2010, 17:46
|
|
Профессор
|
|
Регистрация: 03.04.2009
Сообщений: 1,263
|
|
Riim, хм. Я просто скопипастил код из поста #23, открыл в Лисе, Опере - работает. В Сафари/Хроме -- нет.
|
|
14.05.2010, 17:47
|
|
Рассеянный профессор
|
|
Регистрация: 06.04.2009
Сообщений: 2,379
|
|
Может от кодировки зависит, у меня utf-8.
upd: менял на win-1251, тоже не пашет, копировал со своего поста, опять нет.
Последний раз редактировалось Riim, 14.05.2010 в 17:49.
|
|
14.05.2010, 17:51
|
|
Профессор
|
|
Регистрация: 03.04.2009
Сообщений: 1,263
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<head>
<title>blank</title>
<script type="text/javascript">
function addEventListener() {
// nop
}
function init() {
window.constructor.prototype.addEventListener.call(window, 'resize', function() {
alert('OK!');
}, false);
}
</script>
</head>
<body onload="init()">
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
</body>
</html>
Так работает в Хроме, не работает в Сафари (что с онлодом, что без -- одинаково)
|
|
14.05.2010, 17:53
|
|
Рассеянный профессор
|
|
Регистрация: 06.04.2009
Сообщений: 2,379
|
|
Блин, ниче я туплю, onresize, а я br-ов нафигачил и колесико мотаю .
Я просто 1-й раз с onscroll делал.
|
|
14.05.2010, 18:33
|
|
Профессор
|
|
Регистрация: 03.04.2009
Сообщений: 1,263
|
|
Riim, ы Бывает. Но все же проблема в Сафари осталась -- онресайз не срабатывает...
|
|
|
|