Динамический JavaScript, добавляемый с атрибутом location.href и скриптом ajax-cross-domain.com - PullRequest
0 голосов
/ 09 ноября 2009

После назначения этого: window.onload = initfunction;

Я хочу добавить междоменный скрипт AJAX в заголовок:

function initfunction() {
 var dh = document.getElementsByTagName('head')[0];
 var script = null;
 script = document.createElement('script');
 script.setAttribute('src', 'http://whatever.com/cgi-bin/ACD/ACD.js?'+location.href);
 script.setAttribute('type', 'text/javascript');
 dh.appendChild(script);
  }

Кажется, что к сценарию добавлено правильное имя домена, но Firebug говорит: «Не удалось загрузить источник». Если я введу фиксированный URL в атрибуте src, это сработает! e.g.:

script.setAttribute('src', 'http://whatever.com/cgi-bin/ACD/ACD.js?http://google.com');

Есть идеи?

Ответы [ 3 ]

0 голосов
/ 10 ноября 2009

Вот упрощенный фрагмент кода для тестирования. Просто поместите это как функцию загрузки или тег скрипта в заголовке. веб-страница будет постоянно загружаться ...

var dh = document.getElementsByTagName('head')[0];
if(!dh)
{
  //html page without "head"
  head = document.createElement('head');
  document.appendChild(head);
}
var script = null;
script = document.createElement('script');
script.setAttribute('src', 'http://domain.com/cgi-bin/ACD/ACD.js?' + location.href);
script.setAttribute('type', 'text/javascript');
dh.appendChild(script);
0 голосов
/ 10 ноября 2009

ОК, я получил решение. Проблема заключалась не в самом файле location.href, а в правиле нашего брандмауэра , которое запрещает запрос GET к собственному серверу. Поэтому сценарий выбрасывает тайм-аут.

0 голосов
/ 09 ноября 2009

Если мы говорим о скрипте ajax-cross-domain.com, не должно ли это быть:

script.setAttribute('src', 'http://whatever.com/cgi-bin/ACD/ACD.js?uri=('+encodeURIComponent(location.href)+')');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...