18.03.2008, 18:07
|
Профессор
|
|
Регистрация: 25.02.2008
Сообщений: 707
|
|
Андрей Параничев, через "традиционный" нет конечно - это противоречит политике безопасности. Но я говорил о том, что аякс вызовет свой скрипт (в пределах своего домена), который в свою очередь уже отправит сокет-запрос на другой домен.
|
|
18.03.2008, 22:06
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Андрей Параничев,
я кстати вообще не использую аббревиатуру ajax, т.к. она только путает.
В частности я не говорил, что нужно использовать XMLHttpRequest.
Допустим, нам нужно передать данные на другой домен и получить ответ. Мы создаем элемент script, в get-параметрах передаем данные, а нам возвращается ответ в виде js-кода, который, допустим, вызывает callback-функцию.
|
|
18.03.2008, 23:56
|
|
Профессор
|
|
Регистрация: 24.09.2007
Сообщений: 165
|
|
Сообщение от Андрей Параничев
|
Если расскажешь суть задачи, может тогда сможем помочь тебе определиться с выбором алгоритма "забирания" страницы.
|
В общем. Мне надо на мыло отправить сайт(на котором запускается мой скрипт). Отправка заголовка уже реализована. Но вот проблема с телом страницы...
Сейчас склоняюсь к идее отправлять GET параметром document.body.innerHTML(уже работает, но криво). Но столкнулся с новой проблемой. Как быть с символами #,?,&... Ведь мой скрипт, когда парсит GET параметры неправильно будет определять тогда document.body.innerHTML.
П.С. у меня есть полный доступ к странице со стороны JS, данные совему скрипту я отправляю через GET параметры...
__________________
После каждой девятки все снова с нуля,
Все снова с нуля, но не сначала...
|
|
19.03.2008, 00:20
|
|
Профессор
|
|
Регистрация: 24.09.2007
Сообщений: 165
|
|
Если я правильно понимаю.. то через rawurlencode() надо пройти весь document.body.innerHTML. для замены символов их кодами.... и отправлять втаком виде в GET параметре...
Надюесь поможет.
__________________
После каждой девятки все снова с нуля,
Все снова с нуля, но не сначала...
|
|
19.03.2008, 01:51
|
Профессор
|
|
Регистрация: 25.02.2008
Сообщений: 707
|
|
маленькое замечание: Phoenix, GET имеет ограниченную длину, так что большой документ не передашь.
|
|
19.03.2008, 09:32
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Phoenix,
создай динамически форму с методом post, и в ней содержимое отправляй в скрытый iframe (если ответ конечно не нужен).
|
|
20.03.2008, 00:03
|
|
Профессор
|
|
Регистрация: 24.09.2007
Сообщений: 165
|
|
Хм... так получается отправлять надо со скрытово iframe( что бы не обновлять страницу и к AJAX не прибегать)...
Вот, сделал функцию.. которая отсылает данные о странице на мыло... Но одна две проблемы:
1. Т.к. форма встраивается в страицу, то при субмите, страница обновляется. Как это можно избежать? если добавить фрейм? и только его обновлять(отправлять).
2. Не так значательно... Возможно ли с письмом отправить css файл? п.с. у меня страница идет как тело документа, но хеадер Content-Type: text/html. Возможно ли, через mail() отправлять письма с прикрепленными файлами?
Вот сама функция:
<a href='javascript:(function(){
var s=document.createElement("script");
s.charset="windows-1251";
s.language="javascript";
s.type="text/javascript";
var form=document.createElement("form");
form.id=form.name="page";
form.method="post";
form.action="test.php";
var tit=document.createElement("input");
tit.type="text";
tit.id=tit.name="stitle";
form.appendChild(tit);
var area=document.createElement("textarea");
area.id=area.name="sbody";
form.appendChild(area);
var inf=prompt("Введите описание ссылки", "");
if (inf!=null) {
tit.value=inf+"-"+document.title;
alert("test");
document.body.appendChild(form);
alert("test2");
area.value=document.body.innerHTML;
document.body.appendChild(s);
form.submit();
}else{alert("Не определен");}
alert("test3");})();' return false>[Добавить URL в базу]</a>
__________________
После каждой девятки все снова с нуля,
Все снова с нуля, но не сначала...
Последний раз редактировалось Phoenix, 20.03.2008 в 00:15.
|
|
20.03.2008, 09:38
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Сообщение от Phoenix
|
Т.к. форма встраивается в страицу, то при субмите, страница обновляется. Как это можно избежать?
|
Указать форме target=имя_фрэйма
Код-то в соответствующие теги запихните, как это читать-то?
|
|
20.03.2008, 22:26
|
|
Профессор
|
|
Регистрация: 24.09.2007
Сообщений: 165
|
|
Я чуть чуть изменил, открываю в отдельном окне. форму и отправляю. получилось даже лучше. Вот одна проблема....
document.body.innerHTML - полностью игнорирует CSS файл... и заголовок. Как это можно обойти? и добавить к document.body.innerHTML
И еще одна проблема... Когда отправляется форма, то все символы " и ' переделываются в \" и \' как это можно убрать? парсить весь текст не хочется... думаю эт можно проще сделать. Но не знаю как
__________________
После каждой девятки все снова с нуля,
Все снова с нуля, но не сначала...
Последний раз редактировалось Phoenix, 20.03.2008 в 22:40.
|
|
24.03.2008, 23:33
|
|
Профессор
|
|
Регистрация: 24.09.2007
Сообщений: 165
|
|
с обратными слешами разобрался... Осталось только получения мета данных и линки на сss. На JS это можно сдлеать?
__________________
После каждой девятки все снова с нуля,
Все снова с нуля, но не сначала...
|
|
|
|