2009-05-14 12 views
0

Ich gebe Kunden Javscript-Code, der ein Widget auf ihrer Website hinzufügt. Zur Zeit frage ich sie dies direkt über den </body> Tag einzufügen:Javascript-Widget-Code den richtigen Weg hinzufügen

<script type="text/javascript"> 
var myHost = (("https:" == document.location.protocol) ? "https://" : "http://"); 
document.write(unescape("%3Cscript src='" + myHost + "www.mywebsite.com/mycode.js.php?u="+encodeURIComponent(window.location.host)+"' type='text/javascript'%3E%3C/script%3E")); 
</script> 

Wie Sie den Code meines Skript unter http oder https-URL ruft abhängig von den Seiten-URL sehen.

Manchmal, wenn eine Website html nicht gut das Skript gebildet wird, kann "operation aborted" Fehler auf IE-Browsern verursachen.

Ich möchte Kunden Code senden, die an den <head> Bereich angebracht wird.

  1. Wie kann ich mit dem http/https beim Aufrufen von Code aus dem Kopfteil umgehen?
  2. Wissen Sie, ob es das abgebrochene Problem der Operation löst?

Antwort

2

sie einfach über das HTTPS-Lösung geben.

Wenn ihre Seite sicher ist, wird es funktionieren; Wenn nicht, ist nichts Falsches daran, ein sicheres Objekt in eine unsichere Seite einzubetten.

<script type="text/javascript" src="https://www.mywebsite.com/mycode.js.php"></script> 

Ich kann sehen, dass Sie die ursprüngliche Domäne in der Querystring übergeben. Sie können das aus Ihrem JS-Code holen, ohne es durch einen GET-Parameter übergeben zu müssen. Sie können es mit der Eigenschaft document.referrer überprüfen.

+0

Danke! das war hilfreich – Nir

2

Es sieht aus wie Google ihre Analytics-Code genau die gleiche Art und Weise behandelt (was ich bin sicher, Sie wissen). Was machst du in deinem Code? Als ich den Link "operation aborted" anschaute, den Sie zur Verfügung gestellt haben, wird es als eine Lösung angezeigt, um Ihren Code auszuführen, wenn die Seite geladen wurde.

würde ich empfehlen, eine Funktion für das Ereignis Onload Bindung und dort Ihren DOM-Manipulation Code ausgeführt wird.

+0

Danke !. Ich habe eine Funktion, die an das Onload-Ereignis bindet. – Nir

Verwandte Themen