【javascript】ajaxを利用しない場合のローディング画像の出し方

ぐるぐる回るローディング画像の具体的な表示の仕方についてはこちらを参考

ajaxありの場合
-----------------------------------------------
JavaScriptdispLoading("処理中..."); //ローディング画像を表示するユーザー定義関数

//ajax処理

removeLoading(); //ローディング画像を消すユーザー定義関数
-----------------------------------------------

ajaxなしの場合
-----------------------------------------------
JavaScriptdispLoading("処理中...");

//javascript で描写が画面に反映されるタイミングは、関数の実行が終わってから。
//そのため、ローディング画面を表示させるために一旦ここで関数を終わらせる。
setTimeout(function() {

//時間がかかるjavascriptの処理(ajaxでない)。

removeLoading();
}, 0);
-----------------------------------------------

javascriptは、関数の実行中にページの書き換えは起こらない。関数の実行キューが空になって時点ではじめてページの書き換えが起こることに注意。

参考サイト

特定の文字列を含むファイルをサーバー内から探す

コマンド
-----------------------------------------------------
find ./ -name "*.*" -exec grep -l "tango_output" {} \;
-----------------------------------------------------

./ 現在のディレクトリ以下を指定

-name "*.*" .(ドット)を含むファイルをすべて検索

-exec find の検索結果ひとつひとつに指定したコマンドを実行する。-exec grep だと grep が実行される

grep -l -l は、検索条件にマッチしたファイル名を表示する。

grep -l "tango_output" tango_output という文字列を含むファイルを探す。

{} find でヒットしたファイル名やディレクトリ名に置き換えられる。

\; ; をシェルの特殊文字である コマンドの境界とみなされないようにするためにエスケープしている

参考ページ

CSS「………」などが改行しなくてはみ出る場合の対処法

「………」などが改行しなくてはみ出る場合の対処法

CSS
-------------------------------------------------
word-wrap:break-word;
overflow-wrap : break-word;
-------------------------------------------------

ジャンプ先ページで特定の要素をウインドウの中央に表示

ページ内リンクの要領で、特定の要素をウインドウの中央に表示する方法

<script type="text/javascript">
//ページの読み込みが完了したら
window.onload = function(){

var positionX = window.pageXOffset;
var positionY = window.pageYOffset;
alert(positionX);
alert(positionY);
//window.scrollTo( 0, 200) ;

// 要素の位置を取得する
var element = document.getElementById("jump");
var rect = element.getBoundingClientRect() ;

// 座標を計算する
var positionY = rect.top + window.pageYOffset ; // Y座標のスクロール量
// alert(positionY);
positionY = Math.floor(positionY) ; //小数点以下切り捨て
// alert(positionY);

var winHeight = window.innerHeight; //現在のウインドウの高さ

alert("ウインドウの高さ" + winHeight);

//0.5秒遅れてスクロールさせる。速いとうまくいかない※
setTimeout(function() { window.scrollTo( 0, positionY - winHeight/2) ; }, 500);
}

※ 詳細はこちら

こちらも参考

XMLHttpRequest cannot load エラーの対処法

jqueryでajaxを利用すると、コンソールにエラーが出た

実行したjquery
-------------------------------------------------
$.post(
//アクセスするURL
'http://sub.exemple.com',
{
'value': value
},
function(data){
//リクエスト成功時の処理
});
-------------------------------------------------

コンソールに出たエラー
-------------------------------------------------
XMLHttpRequest cannot load http://sub.exemple.com. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://exemple.com' is therefore not allowed access.
-------------------------------------------------

リクエスト成功時に実行される処理も行われない。

header("Access-Control-Allow-Origin
解決方法は、http://sub.exemple.com にAccess-Control-Allow-Origin レスポンスヘッダを追加する。

ワイルドカードですべてのドメインからの接続を許可
-------------------------------------------------
header("Access-Control-Allow-Origin: *");
-------------------------------------------------

特定のドメインからの接続のみを許可する場合
-------------------------------------------------
header("Access-Control-Allow-Origin: http://exemple.com");
-------------------------------------------------

.htaccessに書き込むなら
-------------------------------------------------
Header append Access-Control-Allow-Origin: *
-------------------------------------------------

【CSS】iphoneでbrタグを含む長文をうまく選択する方法

iphoneでbrタグをまたいで文章を選択すると、希望の文字列より広範囲で四角く選択されてしまう。これはiphoneの使用のよう。

この問題はbrタグを使わず、CSSで改行すると解決できる。

html
-----------------------------
<br>
-----------------------------

↓↓↓↓↓

html
-----------------------------
<span class="br"></span>
-----------------------------

css
-----------------------------
.br:before {
content: "\A";
white-space: pre-wrap;
}
-----------------------------

CSSで改行

久しぶりに立ち上げたサーバーにつながらなかった時の対処法

久しぶりに立ち上げた CentOS がインターネットつながらない。CentOS内のFireFox からインターネットが見れず。WindowsPCのFFFTPからもアクセスできず。

やったこと。

1.
------------
ifconfig
------------

ネットワーク環境を確認する。NICが正常に認識されていればOK。eth0のところに自身のIPアドレスが表示されていればいい。

2.
------------
ping 192.158..0.9 ← 自分自身のIPアドレスに送った
------------

返ってきたメッセージ
------------
Destination Host Unreachable
------------

デフォルトゲートウェイがダウンしている状態に返ってくるメッセージということで、ルーターを再起動させて解決できた。

mysql_query($sql) OR die(mysql_error()) の意味

mysql_query($sql) OR die(mysql_error()) の意味。

or演算子 → 左辺がtrueの場合に右辺の式は無視される
die関数 → 指定されたメッセージを出力して、スクリプトを強制終了させる関数

【さくら】pearのCache_Liteでキャッシュする

PEAR ライブラリの Cache_Lite でキャッシュする方法
サンプルスクリプトも含めてこのページがわかりやすかった

サンプルスクリプトもほぼそのまま
----------------------------------------------------------------
<?php

// クラス読み込み
require_once('Cache/Lite.php');

// IDのセット
//$cache_id = $_SERVER["REQUEST_URI"]; //こんなんでもいい
$cache_id = '123456';
// オプション
$options = array(
//さくらの場合、/tmp/はホームディレクトリより上にあるがキャッシュは保存できる。ただ他ユーザーと共有なのでホームディレクトリ以下に保存するほうがいいと思う
// 'cacheDir' => '/tmp/', //キャッシュ保存先
'cacheDir' => '/home/acount_name/tmp/', //共有サーバーなのでホームディレクトリ以下。フォルダは作って事前に作る必要がある
'caching' => 'true', // キャッシュを有効に
'automaticSerialization' => 'true', // 配列を保存可能に
'lifeTime' => 10, // 10(生存時間:10秒)
'automaticCleaningFactor' => 200, // 自動で古いファイルを削除(1/200の確率で実行)
'hashedDirectoryLevel' => 1, // ディレクトリ階層の深さ(高速になる)
);

// オブジェクトのnew
$cache = new Cache_Lite($options);

// キャッシュデータがあるかどうかの判別
if ( $cache_data = $cache->get($cache_id) )
{
echo "【キャッシュ使用】
";
$buff = $cache_data;
}
else
{
// キャッシュデータがない。APIからデータを読み込む処理
// データ取得処理ここから
// ……………………… $read_data にデータを入れておく
$read_data = date('Y/m/d H:i:s');
// データ取得処理ここまで

echo "【キャッシュ未使用】
";
$buff = $read_data;
$cache->save($buff);
}
print_r($buff);
?>
----------------------------------------------------------------

JQUERYのPOST(ajax)で戻り値を複数返す

JQUERYのPOST(ajax)で戻り値を複数返すには、PHPからjavascriptへのデータの受け渡しの際に配列をJSON形式に変換する

//PHP側
-------------------------------------
$data_arr = array($data1, $data2);

//javascriptに受け渡すため配列をJSON形式に変換
$datas = json_encode($data_arr);
echo $datas; //JQUERYに渡す
-------------------------------------

JQUERY側
-------------------------------------
data_arr = JSON.parse(data); //戻り値をJSONとして解析
alert(data_arr[0]);
alert(data_arr[1]);
-------------------------------------

1 / 2612345...1020...最後 »