dforce
dforce

Reputation: 2234

Dynamic Javascript appending with location.href attribute and ajax-cross-domain.com script

After assigning this: window.onload = initfunction;

I want to append the AJAX cross domain script to the header:

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);
  }

The script seems to be appended with the correct domain name, but Firebug says: "Failed to load source". If I type a fixed URL within the src attribute it works! e.g.:

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

Any ideas?

Upvotes: 0

Views: 1478

Answers (3)

dforce
dforce

Reputation: 2234

OK i got the solution. The problem was not the "location.href" itself, but a rule in our firewall that prohibits a GET request to the own server. Therefore the script throwed a timeout.

Upvotes: 0

dforce
dforce

Reputation: 2234

Here is a simplified code snippet for test purposes. Just put this as an onload function or a script tag in the header. the webpage will continuously load...

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);

Upvotes: 0

bobince
bobince

Reputation: 536339

Assuming we're talking about ajax-cross-domain.com's script, shouldn't it be:

script.setAttribute('src', 'http://whatever.com/cgi-bin/ACD/ACD.js?uri=('+encodeURIComponent(location.href)+')');

Upvotes: 0

Related Questions