http と https で同じスクリプトを使い分ける!?
私のショップサイト(そば富泉)でも利用しているショップサーブなどでスクリプト利用する場合に
ssl のかかったページに移動するとスクリプトエラーが出る、
または設置場所によっては動作しない場合があります。
これはショップサーブだけに言えることではなく、通常のhttp→sslのhttps にページ移動した際に、
外部から読み込んでいるスクリプトを読み込まないためです。
それを解決する方法の備忘録。
ただし、この方法を使うには、sslが使えるサーバーを使用しているか、
なければ別にレンタルしなくてはなりません ^^;
私の場合は、ショップサーブ(sslのカートシステムはあるが、他に使えない)を利用しているので、
sslは使えない状態ですが、ブログで別のレンタルサーバーを使っていたので、そちらで対処しました。
さて、http と https で同じスクリプトを使い分ける方法ですが、
例えば sample.js というファイルを使うとして、
www.sample.net というドメインの階層にjs というフォルダーを作り
https://ssl11.sample2.jp/ とういうsslの共有エリアが使える場合で
sample.js をそこに置いた場合
通常なら以下のような記述ですが、
<script type="text/javascript" src="www.sample.net/js/sample.js"></script>同じスクリプトを使い分ける場合には
<script type="text/javascript">
var javaHost = (("https:" == document.location.protocol) ?
"https://ssl11.sample2.jp/" : "http://www.");
document.write(unescape("%3Cscript src='" + javaHost + "sample.net/js/sample.js' type='text/javascript'%3E%3C/script%3E"));
</script>といった記述をして https と http で読み込む先を変えることで対処します。
適宜、使われる環境により、
https://ssl11.sample2.jp/
http://www.
sample.net/js/sample.js
の部分は変更してください。
ちなみに
https://ssl11.sample2.jp/
っていうのは利用しているサーバーから割り当てられた、共有sslのURLです。
この部分は使われているサーバーにより変わるかもしれません。
もっと違うやり方もあるかと思いますが、これでとりあえず対処しました ^^;
: : このページの内容と関連がある記事 : :
- http と https で jquery の読み込み先を分ける簡単な方法
- copyright(コピーライト)表記を自動で更新するスクリプト
- ある程度スクロールすると出現するページの先頭へボタンのスクリプト
- ワードプレスでトラックバックURI(URL)を表示・簡単にコピーできるようにする
- SBM(ソーシャルブックマーク)の登録ボタンを出力するJavaScript







