- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Скажу сразу, я не такой спец по js, поэтому и спрашиваю у Вас.
Есть вопрос, реально ли подгрузить в переменную js внешней страницы посредствам самого js не прибегая к php.
если в тело документа вставить чтото типа такой конструкции, то браузер обращается в странице и вродебы подгружает ее.
Но вот как то что подгрузилось закинуть в переменную, ума не приложу...
Пробывал два варианта, выполнить конструкцию через eval, но после долгих мучений пришел к выводу что евал выполняет только готовый код, а не подгружает внешний джаваскрипт...
Второй вариант был заключить эту конструкцию в div, и после загрузки документа взять содежимое контейнера,
но в итоге получал только то что я там и прописал а не результат загрузки страницы, а именно
Вобщем нужен ваш совет, это вобще реально сделать, если нет, то можно обсновать почему? Если реально, то хотябы пару намеков куда копать...
Копаем в сторону работы с протоколом HTTP, объекта XMLHttpRequest и так далее. Это все активно используется в AJAX. Также не забываем о политике общего происхождения
насколько я знаю браузеры по умолчанию не дадут подгрузить страницу с другого сайта, или это както можно обойти?
насколько я знаю браузеры по умолчанию не дадут подгрузить страницу с другого сайта, или это както можно обойти?
Это называется
политика общего происхождения
Частично обойти можно с помощью свойства domain
<div id="cod"><script src="http://site.com"></script></div>
<script type="text/javascript">
function getvalue()
{
var txt = document.getElementById('cod').innerHTML;
}
</script>
Если отмести то, что это способ через ж..., то нужно понимать не JS а DOM.
<iframe id="cod" src="/...."></iframe>
А дальше как у Вас, но... ничего не получится (в нынешних условиях), если Вы будите пытаться загрузить страницу не со своего сайта
T.R.O.N добавил 15.02.2010 в 15:52
Частично обойти можно с помощью свойства domain
Можно, но работает не везде...
немного порывшись по инету нашел одну интересную статью по теме, вот кусочек от туда -
У меня возник вопрос, если подгрузить страницу через <script src='http://site.com'></script>, она войдем в модель DOM? можно будет обратится к ней через document.getElementById и т.д., или это тоже тупик? НТМЛ код страницы в браузере не отображается.
wolfston добавил 15.02.2010 в 16:27
только что пробывал, не получилось, с ифреймом анологично...
У меня возник вопрос, если подгрузить страницу через <script src='http://site.com'></script>, она войдем в модель DOM? можно будет обратится к ней через document.getElementById и т.д., или это тоже тупик? НТМЛ код страницы в браузере не отображается.
Еще раз. Загрузка страницы происходит по протоколу HTTP. Чтобы загрузить страницу нужно сформировать HTTP запрос. Это делается через функцию-конструктор XMLHttpRequest.
TiA Спасибо, я понял вас, но только не понял как обойти политику безопасности, допустим подключаем jquery и выполняем такой скрипт -
<script src='http://code.jquery.com/jquery-1.4.1.min.js' type='text/javascript'></script>
<script type="text/javascript">
$.get("http://www.li.ru/", function(data){
alert("Data Loaded: " + data);
});
</script>
то он работает только если в опере открыть исходный код li и вставить его туда а потом нажать применить, в противном случае он не работает... li.ru взят так для примера...
Чувствую что тут тупик, и без прокладки в виде php странички с курлом не как не обойтись, а не хотелось излишне нагружать сервер...
может поможет http://javascript.ru/ajax/cross-domain-scripting