Загрузка внешних скриптов после вывода страницы [js]

Ivan826

В общем надо на страницу грузить внешние js-файлы. Предположим удалённый хост (на котором они находятся) недоступен. Как итог страница мега долго грузиццо т.к. пытаецо пробицца к этому хосту, но там обломидзе.
Это не есть хорошо.
Есть рещение не работающее в опере

function p_p
{
var el=document.getElementById('first');
newDiv = document.createElement("div");
newDiv.setAttribute("id",'second');
newDiv.innerHTML=el.innerHTML;
el.innerHTML='';
el.parentNode.appendChild(newDiv);
newDiv = document.createElement("div");
newDiv.innerHTML="<"+"script src='http://удалённый хост/script.js' type='text/javascript'><"+"/script>";
el.parentNode.appendChild(newDiv)
}
document.onload=p_p;

опера не хочет обрабатывать код внутри newDiv после appendChild
может светлые головы подскажут хорошее решение?

oleg_n

eval не подойдёт?

sbs-66

скачай скрипты к себе, делов-то.
А вообще в опере такое должно работать - у тебя где-то ошибка, но мне влом искать. Можешь посмотреть, как оно устроено в JsHttpRequest (http://www.dklab.ru/lib/JsHttpRequest/).

kruzer25

Ты не должен этого хотеть.

SCIF32

Я делаю так. Вроде работает и в опере.
  function addScript( url)
{
var script = document.createElement("script");
script.setAttribute("type", "text/javascript");
script.setAttribute("src", url);

document.getElementsByTagName('head')[0].appendChild(script);
}

kruzer25

Это работает сейчас.
А вообще, с очень большой вероятностью, через некоторое время тебе вообще ни один браузер ни при каких условиях (хоть ты это не динамически будешь делать, а статически пропишешь) не будет грузить javascript-ы с других доменов.

SCIF32

Это работает сейчас.
А вообще, с очень большой вероятностью, через некоторое время тебе вообще ни один браузер ни при каких условиях (хоть ты это не динамически будешь делать, а статически пропишешь) не будет грузить javascript-ы с других доменов.
Это твое личное мнение, или где-то такое обещали?

kruzer25

Это моё личное мнение, которое основано на том, куда сейчас всё идёт.
В общем-то, мб, даже в ие7 это по умолчанию запрещено - влом проверять.
В любом случае, загрузка скрипта с другого сервера - это нечто анальное, неужели нет никакого более приличного решения? Пусть автор треда расскажет, что он хочет сделать...

SCIF32

В любом случае то что ты сейчас пишешь выходит за рамки поставленной темы.
Раз это твое личное мнение, то думаю обсуждать здесь нечего. Но если хочешь - заведи новую тему о том, куда катится "безопасность" в браузерах.

Ivan826

Баннерокрутилка которая встраивается в страницу чужого сайта
Теперь понятно почему?

pitrik2

написал бы имхо что ли
ничего что большинство счетчиков и многие баннеры загнуться?
динамич. может и запретят, а вот статические очень сильно вряд ли

kruzer25

ничего что большинство счетчиков и многие баннеры загнуться?
Думаешь, мсу и mozilla foundation на это не насрать?

Ivan826

На это не насрать первую очередь гуглу. А гугл может легко насрать на всех, кому на это не насрать

Ivan826

А динамические тоже не запретят. Ибо аякс

kruzer25

И ч0 аякс?
Правильный аякс вообще-то не должен лезть на левые домены.

kruzer25

МСу насрать, на что там не насрать гуглу, потому что МСу насрать на гугл.
А гуглу, в общем-то, тоже не будет насрать на МС, потому что эта проблема легко решается.
Хотя да, мозилловцы постремаются убирать то, на что не насрать гуглу, но ИЕ насрать на мозиллу.

Ivan826

когда я говорил ввиду аякс я имел ввиду динамически ссылки на JS вообще
ты себе представляешь интерент без реклмаы? Я - нет. Поэтому ты говоришь бред

kruzer25

динамически ссылки на JS вообщ
Это что за зверь?
ты себе представляешь интерент без реклмаы? Я - нет. Поэтому ты говоришь бред
И что, запрет на подгрузку js со внешних ресурсов как-то мешает показывать рекламу?
Ты хуй.

dedwowan

И что, запрет на подгрузку js со внешних ресурсов как-то мешает показывать рекламу?
Мешает

kruzer25

Могу на это ответить только одно: неудачник, убей сибя ап стену.

Ivan826

Предложи раюотающую схему работы баннерообменной сети без подгрузги скриптов с внешнего сервера встраиваемую в html код и стангь миллиардером.
З.Ы. Чуть не забыл. Ти гандон

kruzer25

встраиваемую в html код
Ты хуй.
Если у кого-то есть только html-код, ему следует выпить яду и больше не думать ни о каких баннерах.

Ivan826

Пиздец....
Ты сказочный долбойоб

kruzer25

Только после вас, прекрасный сэр.

dedwowan

Могу на это ответить только одно: неудачник, убей сибя ап стену.
Что самое интересное - всякие яндексы, рамблеры и прочие херы собирающие статистику тоже должны убить себя ап стену.
По моему ты ленишься задуматься над одним простым вопросом - "Почему этот скрипт внешний, несмотря на возникающие с ним проблемы?"
Если бы ты потрудился немного подумать над тем, почему, ты бы наверняка не писал бы подобной ерунды, да еще в подобном "тоне".

Ivan826

Забей. Зачем разговаривать и, тем более, убеждать в чём то человека, который спорит и уверждает что-то в теме, в которой он нихера не разбирется?

kruzer25

ОК, скажи мне, какие крупные сайты с большой посещаемостью:
1) Хранятся как статические страницы, у администратора сайта нет возможности делать что-то динамическое (запрещено)
2) Должны использовать баннеры, причём, сеть баннеров их собственного хостера не подходит
А на мелкие сайты с мизерной посещаемостью насрать и яндексу, и гуглу, и рамблеру.

kruzer25

Если бы ты потрудился немного подумать над тем, почему
Я знаю, почему.
Потому что:
1) Так проще тем, кто эти баннеры ставит;
2) Даже самый последний хуй, который держит сайт хуй.яндекс.ру с посещаемостью в полтора человека в год, может поставить себе баннер от гугла.
Пункт 1 решается, если понадобится; на пункт 2 всем насрать, кроме того хуя, на которого тоже всем насрать.

dedwowan

1) Так проще тем, кто эти баннеры ставит;
Пункт 1 решается, если понадобится;
Как?
2) Даже самый последний хуй, который держит сайт хуй.яндекс.ру с посещаемостью в полтора человека в год, может поставить себе баннер от гугла.
на пункт 2 всем насрать, кроме того хуя, на которого тоже всем насрать.

И Гугла, которому какого-то хера надо, чтобы их банер крутился у подобных хуев.
Что делать гуглу?

dedwowan

2) Должны использовать баннеры, причём, сеть баннеров их собственного хостера не подходит
А на мелкие сайты с мизерной посещаемостью насрать и яндексу, и гуглу, и рамблеру.
http://www.fenzin.org/

kruzer25

Как?
Скрипты на стороне сервера, которые будут спрашивать у гугла, какой баннер показать.
Да, не получится брать деньги за показы - но главное-то - деньги за клики!
И Гугла, которому какого-то хера надо, чтобы их банер крутился у подобных хуев.
Гуглу на таких хуев насрать, ему надо, чтобы баннер крутился на olmer.ru, thevista.ru, exler.ru и других подобных сайтах, а от хуев только куча геморроя и практически никакой пользы - от миллиона хуев столько показов/кликов, как от одного-единственного экслера.

kruzer25

http://www.fenzin.org/
Хочешь сказать, там всё статикой, и когда добавляется новая книга - админ ручками добавляет её в "новинки", "книги автора ххх" итп?
Правда, я не знаю, как тогда объяснить возможность регистрации...
Так что тебе не повезло, не удаётся никак придумать, как этот fenzin.org крутился бы на статике - значит, там динамические скрипты, и этот твой вариант идёт в топку, потому что не удовлетворяет пункту 1.
Короче говоря, слив не засчитан.

pitrik2

я нить потерял
могу добавить что я согласен с пенартуром что внешние жс нах не нужны
но не согласен с ним что это мс или мозилла запретят
мозилла не запретит например изза гугла, его урчин - внешний жс
мс не запретит потому что она стоит горой за коммертизацию чего-либо, а баннеры от такого явно пострадают, народ свои сайты ой как не скоро перепишет

kruzer25

мс не запретит потому что она стоит горой за коммертизацию чего-либо, а баннеры от такого явно пострадают, народ свои сайты ой как не скоро перепишет
Мне кажется, мс "стоит горой" за коммерциализацию не всего вообще, а за получение денег от своих продуктов.
А они на подгрузку внешних js навряд ли завязаны.
Вставить же палки в колёса гуглу они будут только рады - гугл же им сейчас в некоторых областях конкурент.
Остаются мозиллы и прочие оперы, но, если в ие это будет запрещено, они уже ни на что не повлияют.

Ivan826

Да вы ваще ипанулись шо ле?
Какие нахрен серверные скрипты для размещения баннера?
Никто никогда не будет размещать у себя на сервере чужой серверный скрипт ради баннера!

oleg_n

воинствующий долбоёб

SCIF32

Гуглу на таких хуев насрать, ему надо, чтобы баннер крутился на olmer.ru, thevista.ru, exler.ru и других подобных сайтах, а от хуев только куча геморроя и практически никакой пользы - от миллиона хуев столько показов/кликов, как от одного-единственного экслера.
Ты знаешь об google analytics, а как он работает в курсе?

pitrik2

Ты знаешь об google analytics, а как он работает в курсе?
ты чего?
тему не читал?
1) про урчин я уже упоминал
2) про подобные системы в принципе уже неск раз упоминали

kruzer25

Какие нахрен серверные скрипты для размещения баннера?
Никто никогда не будет размещать у себя на сервере чужой серверный скрипт ради баннера!
Это почему?
В общем-то, всё это даже логично - деньги то владельцы сайтов должны получать за то, что они показывают клиентам гугловские баннеры, а не за то, что клиент видит гугловские баннеры...

SCIF32

ты чего?
тему не читал?
я то читал, мне показалось, что пенартур - нет.

SCIF32

В общем-то, всё это даже логично - деньги то владельцы сайтов должны получать за то, что они показывают клиентам гугловские баннеры, а не за то, что клиент видит гугловские баннеры...
Как ты это предлагаешь контролировать без чужих js?
Если все идет через сервер владельца сайта, то гугл не имеет прямого контакта с клиентами тыкающими на баннер.

kruzer25

Как ты это предлагаешь контролировать без чужих js?
Я, похоже, немного неправильно выразился...
Сейчас владельцы сайтов получают деньги за то, что гугл показывает их посетителям свои баннеры, и за то, что некоторые клиенты по этим баннерам идут.
Надо, чтобы владельцы сайтов показывали своим посетителям гугловские баннеры и получали деньги за то, что некоторые посетители будут по этим баннерам идти.

SCIF32

А рекламодатели не будут платить гуглу за показ своей рекламы, когда есть более эффективный механизм - плата за клики.
Еще более эффективный - когда платят за каждого клиента, который купил что-то перейдя по рекламной ссылке. Но это вроде пока только фантастика.
Вроде ни то ни другое нельзя проконтролировать, если делать как предлагаешь ты.

kruzer25

Еще более эффективный - когда платят за каждого клиента, который купил что-то перейдя по рекламной ссылке. Но это вроде пока только фантастика.
Ну почему же? У озона это, вроде бы, даже реализовано.
Вроде ни то ни другое нельзя проконтролировать, если делать как предлагаешь ты.
1) Первое контролировать очень легко, а обсуждение реализации второго выходит за рамки этого треда (хотя там всё делается точно так же).
2) При таком показе баннеров, как предлагаю я - владелец сайта может контролировать, сколько баннеров было показано и сколько переходов сделано, а баннерная сеть - сколько переходов сделано. При нынешней же реализации (просто подключается внешний js) баннерная сеть получает возможность контролировать и показы, и переходы - но владелец сайта не может контролировать вообще ничего; если у него миллион посетителей в день, а баннерная сеть скажет "знаете, тут ни одного показа не было и ни одного перехода" - он ничего не сможет на это ответить.
Так что, использование скриптов на стороне сервера владельцу сайта-то как раз выгодно.

SCIF32

хрень какая-то...
Опиши схему по которой в твоей системе должен происходить клик на баннер. (имею ввиду последовательность реферреров)

kruzer25

Javascript (который на сервере, статический) ajax-запросом или другим подгружающимся динамически javascript-ом (для экономии трафика) получает id баннера, который нужно показать (этот id генерится на нашем сервере, возможно, мы при этом на стороне сервера обращаемся к баннерной сети) выдаём на странице <a href="/banners/link?***ID***"><img src="/banners/banner?***ID***"/></a>
Браузер говорит "а ну подать мне баннер ***ID***" - лезем в баннерную сеть (или в свой кэш берём баннер, отдаём браузеру.
Пользователь кликает по баннеру - регистрируем в /banners/link клик и перекидываем пользователя на http://bannernet/link/?id=%2A%2A%2AID%2A%2A%2A&from=YOUR...
Баннерная сеть также регистрирует клик (возможно, ещё как-то дополнительно обрабатывает - чтобы накрутки не было) и перекидывает пользователя на http://somesite/somelink?from=YOURSITE, где заказчик рекламы тоже регистрирует клик и показывает пользователю контент.
Да, такая схема не будет работать, если баннер показываем на https-сайте... но с другой стороны, сейчас-то мы на https-сайте даже показать баннер не можем - а тут пользователя просто спросят "действительно ли вы хотите покинуть безопасную зону?"
Ну и ещё приятный бонус - теперь все три стороны знают, кто и сколько раз кликал по баннерам.

SCIF32

Ну да, все ок. Чего-то на меня тупняк напал.
Но я не пойму - если есть недоверие к гуглу или т.п. - что мешает после загрузки формы c рекламой подменить все ссылки сделав их через свой реферер?

nikita270601

Конечным пользователям обычно существенно проще вставить к себе в сайт какой-то кусок HTML, который им даст Гугл, чем возиться с serverside-скриптами.

pitrik2

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

nikita270601

блин
ну пенартур же уже отвечал на это
конечные пользователи типа васи пупкина идут лесом
а кто не вася пупкин и серьезно относится к делу, повозятся со скриптами
А, простите, поебень при чтении пропустил
Оставить комментарий
Имя или ник:
Комментарий: