nute y James Westgate tienen razón al comentar la respuesta posterior.
Si echamos un vistazo a varias inclusiones de javascript externas de grado industrial, las exitosas usan tanto el rastreo de document.location.protocol como la inyección de elementos de script para usar el protocolo adecuado.
Entonces podrías usar algo como:
<script type="text/javascript">
var protocol = (
("https:" == document.location.protocol)
? "https"
: "http"
);
document.write(
unescape(
"%3Cscript"
+ " src='"
+ protocol
+ "://"
+ "your.domain.tld"
+ "/your/script.js"
+ "'"
+ " type='text/javascript'
+ "%3E"
+ "%3C/script%3E"
) // this HAS to be escaped, otherwise it would
// close the actual (not injected) <script> element
);
</script>
Lo mismo se puede hacer para las inclusiones CSS externas.
Y, por cierto: tenga cuidado de usar solo la ruta URL () relativa en su CSS, si corresponde, de lo contrario, es posible que reciba la advertencia "mixta segura y no segura" ...