Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Добавить футер к странице 
:(
    Опции темы
bems
Дата 3.1.2007, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: нет
Всего: 88



Здравствуйте.
Нужно загрузить в свое окно страницу с некого урла и дописать к ней небольшой кусок хтмл
Если бы после загрузки нужной страницы скрипт продолжал выполняться, то сабж выглядел бы так:
Код

document.location.href=URL;
document.body.insertAdjacentHTML("beforeEnd","wow!");

Роботать должно под IE.
Спасибо



--------------------
Обижено школьников: 8
PM MAIL   Вверх
12345c
Дата 3.1.2007, 18:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Кроссдоменный скриптинг запрещён, сделать так не получится.
Если домен свой, то надо сохранить свой скрипт в другом окне, открыв его, например, под текущим, затем обращаться к родительскому окну через opener. . При этом иметь признак загруженности страницы - периодически обращаться с проверкой какого-то объекта, известного Вам, который появится после onload..
PM WWW   Вверх
bems
Дата 3.1.2007, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: нет
Всего: 88



Цитата(12345c @  3.1.2007,  18:59 Найти цитируемый пост)
Кроссдоменный скриптинг запрещён, сделать так не получится.
Все на локальной машине.
Цитата(12345c @  3.1.2007,  18:59 Найти цитируемый пост)
сохранить свой скрипт в другом окне, открыв его, например, под текущим, затем обращаться к родительскому окну через opener
нельзя ли использовать для этой цели скрытый iframe?
Цитата(12345c @  3.1.2007,  18:59 Найти цитируемый пост)
При этом иметь признак загруженности страницы - периодически обращаться с проверкой какого-то объекта, известного Вам, который появится после onload
Я заранее не знаю содержимого страницы. Может можно перехватить событие onLoad, но так чтобы сама страница тоже имела возможность его обработать?

Добавлено @ 19:51 
может как-то "перелить" содержимое в свой текущий документ и приписать футер?
Сейчас делаю так
Код

function insertHTML(OriginalHTMLfileName,InsertBeforeHTML,InsertAfterHTML)
{
ForReading=1;
fso=new ActiveXObject("Scripting.FileSystemObject");
f=fso.OpenTextFile(OriginalHTMLfileName,ForReading,false);
while(!f.AtEndOfStream) document.write(f.ReadLine());
f.Close();
if (InsertBeforeHTML!='') document.body.insertAdjacentHTML("afterBegin",InsertBeforeHTML);
if (InsertAfterHTML!='') document.body.insertAdjacentHTML("beforeEnd",InsertAfterHTML);
}
И все хорошо за исключением сообщения с вопросом об использовании ActiveX


--------------------
Обижено школьников: 8
PM MAIL   Вверх
12345c
Дата 4.1.2007, 01:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Цитата(bems @  3.1.2007,  19:46 Найти цитируемый пост)
нельзя ли использовать для этой цели скрытый iframe?
но Вы же хотите в окно грузить. Если бы во фрейм, то можно.

Как  трюк можно использовать document.images[0].height==0 как признак незагруженности изображения на странице, если оно есть.
Цитата(bems @  3.1.2007,  19:46 Найти цитируемый пост)
Может, можно перехватить событие onLoad
в окне нет, при загрузке во фрейм -  да (через внешний onload). При этом, где-то читал, выполняются все onload в момент самого последнего onload, но не знаю , в каком порядке.

Чтобы не работать с FSO, можно принимать  код через XMLHttpRequest в безопасном виде без тегов. Только код возврата на локальной машине будет =0, а не 200. Потом кодировать теги и выводить по document.write() - это заливка нового кода в текущее окно, не в документ. В конце футер и document.close().
PM WWW   Вверх
bems
Дата 4.1.2007, 05:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: нет
Всего: 88



Цитата(12345c @  4.1.2007,  01:48 Найти цитируемый пост)
но Вы же хотите в окно грузить. Если бы во фрейм, то можно.
нужно грузить в то же окно, где начал выполняться скрипт. Поэтому - хоть окно, хоть фрейм, а нужен трюк, который бы позволил в конечном итоге иметь страницу именно в первоначальном окне.

Цитата(12345c @  4.1.2007,  01:48 Найти цитируемый пост)
можно использовать document.images[0].height==0 как признак незагруженности изображения на странице, если оно есть.
заранее не известно

Цитата(12345c @  4.1.2007,  01:48 Найти цитируемый пост)
можно принимать  код через XMLHttpRequest в безопасном виде без тегов
Впервые слышу. Можно ссылку или пример?

Цитата(12345c @  4.1.2007,  01:48 Найти цитируемый пост)
это заливка нового кода в текущее окно, не в документ
я даже синтаксис JS местами не понимаю  smile . Какакя с практической стороны разница между загрузкой в окно и в документ?

Добавлено @ 05:22 
Цитата(12345c @  4.1.2007,  01:48 Найти цитируемый пост)
но Вы же хотите в окно грузить. Если бы во фрейм, то можно.
я имел ввиду сначала загрузить в скрытый фрейм, а потом получить к нему дочтуп через innerHtml и переписать в себя. Но тогда нужно еще чтобы скрипты из документа не начали выполняться во фрейме, а только уже после копирования.



--------------------
Обижено школьников: 8
PM MAIL   Вверх
bems
Дата 4.1.2007, 05:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: нет
Всего: 88



По XMLHttp нашел вот это
Код

function CreateXMLHttpRequest()
{
    if (window.ActiveXObject) 
    {
        XRH = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else if (window.XMLHttpRequest) 
    {
        XRH = new XMLHttpRequest();
    }
}

Из этого вытекает что XMLHttpRequest это все равно ActiveX?
А если нет, то что такое window.ActiveXObject?


--------------------
Обижено школьников: 8
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0436 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.