Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Подключение внешнего скрипта
wollk  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 374
Пользователь №: 25444
На форуме: 5 лет, 11 месяцев, 13 дней
Карма:




Скажите пожалуйста, как на сайте site1.ru подключить JS скрипт с сайта site2.ru и вызывать имеющиеся там функции.
Смотрел скрипт всплывающих чатов-консультантов и эту статью http://xandeadx.ru/blog/javascript/420

Прописал у себя такой код:

    <script type='text/javascript'>
var s = document.createElement('script');
s.type = 'text/javascript';
s.src = '//site2.ru/block.js';
document.getElementsByTagName('head')[0].appendChild(s);
</
script>


Захожу на страницу, смотрю исходный код - да, создался тег <script> который подключает нужный мне скрипт. В скрипте прописал alert, $("body").hide(), console.log("Test") - ничего не выполнилось. На сколько я понимаю, это такая политика безопасности - вроде бы все правильно.
Но как тогда подключить скрипт, который бы манипулировал содержимым страницы: добавил iframe на сайт и сворачивал/разворачивал его по клике на кнопку (типа того же чата с консультантами)
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
walerus  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Чтобы все !
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1965
Пользователь №: 26852
На форуме: 5 лет, 8 месяцев, 18 дней
Карма: 111




<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
это подгружаете?, какую ошибку выдает консоль?
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
wollk  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 374
Пользователь №: 25444
На форуме: 5 лет, 11 месяцев, 13 дней
Карма:




Ошибок в консоле нет. Тег script вставляется в конец head. Во вкладке "Сеть" вижу, что остальные внешние скрипты подгружаются, в том числе и библиотека jquery, а вот мой скрипт с другого локального хоста не подгружается. Будто тег вставился, но для его обработки нужно что-то еще выполнить. Но обычно, когда мне нужно на сторонний сайт внедрить Jquery через консоль, я пишу следующее:
var jq = document.createElement('script');
jq.src = "http://code.jquery.com/jquery-latest.min.js";
document.getElementsByTagName('head')[0].appendChild(jq);

и все работает
Если я просто открою ссылку из s.src = '//site2.ru/block.js'; - отображает содержимое JS файла, т.е. сам файл доступен

Если я вручную пропишу <script src.....> все равно ничего не происходит, и во вкладке "Сеть" никаких упоминаний об этом скрипте
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
AllesKlar  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3375
Пользователь №: 38635
На форуме: 2 года, 11 месяцев, 7 дней
Карма: 170




wollk
у тебя скрипт скорее всего не успевает подрузиться к тому моменту, когда ты вызываешь его функции.
Дай ссылку на скрипт, который нужно загрузить удаленно.


--------------------
[продано копирайтерам]
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
wollk  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 374
Пользователь №: 25444
На форуме: 5 лет, 11 месяцев, 13 дней
Карма:




Мне кажется он вообще не подгружается. К сожалению скрипт на локалке, но вот его содержимое:

console.log("SHOW");
alert("test");

(
function() {
$("body").hide();
})();
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
walerus  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Чтобы все !
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1965
Пользователь №: 26852
На форуме: 5 лет, 8 месяцев, 18 дней
Карма: 111




wollk
А не пробовали по второму варианту подгрузить?
$.getScript('http://example.com/script.js', function(){
alert('script loaded');
});
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
wollk  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 374
Пользователь №: 25444
На форуме: 5 лет, 11 месяцев, 13 дней
Карма:




Хм.. не пробовал. Работает! Спасибо! Правда такой вариант как-то не привычен. А нет догадок, почему не работает вариант с добавлением тега?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
walerus  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Чтобы все !
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1965
Пользователь №: 26852
На форуме: 5 лет, 8 месяцев, 18 дней
Карма: 111




index.html
<html>
<head>
<meta
http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>
test 1</title>
<script
src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
</head>
<body>

adasdsa
</body>
<script
type='text/javascript'>
var
s = document.createElement('script');
s.type = 'text/javascript';
s.src = '//localhost/testphp/block.js';
document.getElementsByTagName('head')[0].appendChild( s );
</script>
</html>

block.js
$( document ).ready( function() {
console.log("SHOW");
alert("test");

$("body").hide();
});



Проверяйте что у вас за чем следует, где то напутано... у меня все отрабатывает правильно
стиль в боди добавлен, с экрана убран...

Присоединённое изображение
Присоединённое изображение
PMПисьмо на e-mail пользователюICQ
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса