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); ← $cache_id は省略できる?(明示したほうが安心)
$cache->save($buff,$cache_id); //キャッシュを保存
}
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]);
-------------------------------------

iphoneのブラウザで文字列を選択できない

iphoneのブラウザで文字ができない現象に遭遇。通常文字列を長タップすると選択およびコピーのポップアップが出るが、それがでなくなる。

出なくなる条件。

  • タグを含まない文字列が長く続く
  • line-heightの値が250%などと大きい
  • viewport(スマホサイズの指定)がある
  • 以上3つの条件が揃うとコピーができない。文字列の長さを短くしたり、line-heightの値を小さくするとコピーができるようになる。viewportの指定を外せば、タグを含まない長い文字列でも、line-heightが大きい値でもコピーに支障なし。

    現象はiphone5s(iOS9.3.2) と iphone6s(iOS9.3.3) で確認。それぞれの端末で選択できなくなるまでの文字数が違う。この違いが、画面の大きさからか、スペックからか、OSのバージョンからなのかは不明。

    対症療法として文字列中の適当な箇所になどのタグを入れるとコピーできるようになる。

    2016/09/22 追記
    原因判明。読み込んでいた二つのcssファイルそれぞれに #content があった。一つ消したら不具合もなくなった。

    さくらのサブドメインを別のサーバーで使いたい

    やりたいこと

    現在、さくらレンタルサーバーAでドメインとサブドメイン一個を運用中。ドメイン自体はお名前.comで取得したもの。

    これにサブドメインをもう一個追加したい。追加先は新しく契約したさくらレンタルサーバーB。

    現在
    -------------------------
    ドメイン ← さくらレンサバAで運用中
    サブドメイン ← さくらレンサバAで運用中
    -------------------------

    こうしたい
    -------------------------
    ドメイン ← さくらレンサバAで運用中
    サブドメイン ← さくらレンサバAで運用中
    新サブドメイン ← さくらレンサバBに追加
    -------------------------

    さくらレンサバBにサブドメインの設定をして、ドメイン取得元のお名前.comでDNS設定をする。

    参考:サブドメインの設定方法メモ

    しかし、設定が完了し時間をおいても一向にサブドメインにアクセスできない。IEでアクセスしても「見つかりません」エラーが返ってくる。Chormeでアクセスするとエラー内容の詳細が分かった。

    エラー内容
    ----------------------------------------------------------
    The requested URL /php.cgi/index.html was not found on this server.
    ----------------------------------------------------------

    ようは、新しいサブドメインのルートフォルダにphp.cgiがなかったからで、コピーしたら動いた。

    参考:さくらインターネットでPHPを.htmlで動かす.htaccessの設定方法

    さくらのmysqlサーバーのサブドメインを指定した別サーバーからもログイン可能。(レンサバAのmysqlサーバーにレンサバBからログインができる)