うーん これは困りますねえ

CDNというのをご存知でしょうか?  Content Delivery Networkの略だと思います これは、インターネットで皆が使用する可能性の高いライブラリなどを配信専用に最適化されたサーバーから素早く皆に供給するために色々な会社がサービスとして行っているものです 有名なものとしては、Javascriptのライブラリである jQueryを配信する CDNがありますし、Twitter bootstrapというものも無くてはならいなサービスです

これらのサービスを利用して皆がインターネットのサイトを構築しているのです

ところが本日北京で更新したサイトを uploadした後、アクセスすると、どうも jQueryが動いていない、という驚くべき現象に遭遇したのです 自分で書いたコードを見なおしてみるとどうやら 以下の部分が関係しているようです

<?php
	if ($_SERVER['HTTP_HOST'] == 'localhost') {
?>
		<link rel="stylesheet" type="text/css" href="twitter_bootstrap/css/bootstrap.min.css">
        <link rel="stylesheet" type="text/css" href="twitter_bootstrap/css/bootstrap-theme.min.css">
		<script src = "javascriptlib/jquery-1.10.2.min.js"></script>
		<script src="twitter_bootstrap/js/bootstrap.min.js"></script>
		<script src="d3/d3.min.js"></script>
<?php
	} else {
?>
        <link rel="stylesheet" type="text/css" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
  		<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-theme.min.css" />
		<script src = "//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
		<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
        <script src="//d3js.org/d3.v3.min.js" charset="utf-8"></script>
<?php
	}
?>

これは何をしているのか? と言えば、テスト用の local serverで作動させる時には、localのファイルを読みに行かせ、インターネットにつながっている時には、CDNを読みに行かせ作動を最適化させようという工夫なのです

ところが、どうも else以下の部分、つまりインターネット接続時に CDNを読みに行っていない、というか読み込めないようなのです この国では Googleが接続できないのは有名な話なのですが、どうやら

//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js

で、CDNからの読み込みが弾かれているようなのです うーん困った問題です 従って、急遽ライブラリの読み込みを localから行うように変更しました まあ、それで作動はきちんとするのですが・・・

そして再び D3.jsを用いて登録症例数週毎推移をグラフとして表示する部分も uploadしました こんな風になるのです グラフをクリックしてね

graph.gif
graph.gif

投稿者: (KAMAKURA & SAPPORO)Dr_Radialist

Expert Interventional Cardiologist and Amateur Computer Programmer

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です