SQLの窓

2016年09月16日


Google Chrome で IFRAME を display:none で消してから表示すると、スクロールバーが消える。仕方ないので、visibility:hidden で代替



Google Chrome は、現在 53.0.2785.116 m です。Google Chrome は時々こういうバグが出ますが、そのうち修正されると思います。

webkit 的な css で 対処方法をいろいろ探ったのですが対応できなかったので、visibility:hidden で代替し、visibility:hidden だとその場所のスペースがそのままになるので、position:absolute を併用しました。

※ 他のブラウザでは display:none は 正しく動作します



上の IFRAME は 再表示するとスクロールバーが消えてしまいます(Google Chrome 53.0.2785.116 m)

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
<input type="button" id="hide" value="display:none">
<input type="button" id="show" value="display:"><br>
<iframe
	id="iframe_target"
	src="about:blank"
	name="myframe"
	width="400"
	height="200"
	style='border:solid #000000 1px;'
></iframe>
<br>
<input type="button" id="hide2" value="visibility:hidden">
<input type="button" id="show2" value="visibility:visible"><br>
<div style='position:relative'>
<iframe
	id="iframe_target2"
	src="about:blank"
	name="myframe"
	width="400"
	height="200"
	style='border:solid #000000 1px;'
></iframe>
</div>
上の IFRAME は 再表示するとスクロールバーが消えてしまいます(Google Chrome 53.0.2785.116 m)
<script>
str="";
str+="<img src=\"https://lh3.googleusercontent.com/-c4ugzdOcnSU/VRt3mbqzu0I/AAAAAAAAZXU/41DpjImnF7ILujQmvRRRcok0rgIaYCptACHM/s400/b17brandon016.jpg\"> ";

$("#iframe_target").get(0).contentWindow.document.write(str);
$("#iframe_target").get(0).contentWindow.document.close();
$("#iframe_target2").get(0).contentWindow.document.write(str);
$("#iframe_target2").get(0).contentWindow.document.close();

$("#hide").on("click", function(){
	$("#iframe_target").css("display", "none");	
});
$("#show").on("click", function(){
	$("#iframe_target").css("display", "");	
});

$("#hide2").on("click", function(){
	$("#iframe_target2").css({"visibility": "hidden","position":"absolute"});	
});
$("#show2").on("click", function(){
	$("#iframe_target2").css({"visibility": "visible","position":"static"});	
});

</script>


IFRAME 内のコンテンツを document.write で作成すると、同一ドメインとして IFRAME 内を参照できます



posted by lightbox at 2016-09-16 04:33 | Google Chrome | このブログの読者になる | 更新情報をチェックする

2015年09月17日


Google Chrome 45.0.2454.93m コンボボックスのバグ( リストボックスでは起こりません )

いずれ改善されるのでしょうが、非常に発見しづらいバグではあります。optgroup に背景色を設定すると、その中の option の背景も同じ色になるので、option に #ffffff を設定しようとすると、反映されないというバグです。しかも、このバグは、size 属性を指定した『リストボックス』では起こらないです。


▼ 以下は画像ですが、左側がバグが発生している状態です
このバグの対症療法は、#ffffff の代りに #fffffe を使います

<style>
.mttl1 {
	background-color: #e0e0e0;
}
.mttl1 option {
	background-color: #fffffe;
}

.mttl2 {
	background-color: #ffe4c4;
}
.mttl2 option {
	background-color: #ffffff;
}
</style>
<select>
<option value="jiyunotsubasa" selected>自由の翼フォント</option>

<optgroup label="よく飛ばない鳥" class="mttl1">
<option value="cp_font" >チェックポイントフォント</option>
<option value="jiyucho" >じゆうちょうフォント</option>
</optgroup>

<optgroup label="ふぉんときゅーとがーる" class="mttl2">
<option value="jkg-l_2" >JKゴシック</option>
<option value="jkgm3" >JKゴシック M</option>
</optgroup>
</select>



posted by lightbox at 2015-09-17 21:12 | Google Chrome | このブログの読者になる | 更新情報をチェックする

2015年03月14日


Google Chrome のカラーピッカーを使用して、#RGB 形式の色コードを取得する方法

デベロッパーツールの Elements



とにかく、色の設定が右サイドに存在しないと、カラーピッカーを使え無いので、先頭にある『element.style』に適当に color 属性を設定します。

色部分をクリックしてカラーピッカーを開始



ページ部分にマウスカーソルを移動すると、拡大鏡が表示されるので、その中央の1点で目的の色を選択してクリックします

SHIFT キーを押しながらクリック

rgb(n,n,n) で表示されている場合は、SHIFT キーを押しながら色部分をクリックするとフォーマットが変更されます。好きなフォーマットに変更してコード部分をクリックすると入力可能なので、クリップボードにコピーします。








posted by lightbox at 2015-03-14 17:37 | Google Chrome | このブログの読者になる | 更新情報をチェックする

2014年08月27日


Google Chrome の「デベロッパーツール」で、実行済みのページのソースをクリップボードにコピーする

F12 でデベロッパーツール を開いてコンソールタブをクリックして以下のコマンドを実行します


copy(document.getElementsByTagName("HTML")[0].outerHTML)
これで取得できるソースは、JavaScript が実行された後のリアルなソースコードとなります。CTRL+U で表示されるソースコードは、WEB から送られて来たそのままのソースコードです。

関連する記事

Google Chrome の「デベロッパーツール」の基本路線
IE 限定 : 実行済みのページのソースをクリップボードにコピーする
Firefox の Firebug で、実行済みのページのソースをクリップボードにコピーする




posted by lightbox at 2014-08-27 23:03 | Google Chrome | このブログの読者になる | 更新情報をチェックする

2014年08月22日


Auto-Translate(Chrome 拡張) が、Chromeウェブストアから削除されていました

Auto-Translateが、Chromeウェブストアから削除されていました
※ 以下を参照して、代替にinstant translate が使えると思います。
Auto-Translateがウェブストアから削除。代替にinstant translate - NAVER まとめ

オプションの最後に、『統計情報を収集する事に同意する』というような事が書かれているので、気になるのであれば disable にするといいと思います。


▼ 以下は以前の記事内容
(Auto-Translateのオプションについて)

たいした実害はありませんが、良く解らない広告のようなものが、画像の下に表示される事があります。



オプションで、このチェックを外して下さい。

これは、Superfish と言って、海外対象の画像から価格を比較する機能らしいのですが、日本では全く意味がありません。無意味に画像の下に現れる事が多いです。これは、自分のブラウザだけがなるものですが、うっかりそのサイトの新しい広告だと思ってしまう場合があります。

インストール時に以下のような表示がされたはずです。





posted by lightbox at 2014-08-22 15:09 | Google Chrome | このブログの読者になる | 更新情報をチェックする

2014年06月28日


Google Chrome : デベロッパーツールの table コマンドで、オプジェクトのプロパティをテーブル表示して Excel に貼り付ける

デベロッパーツールのコンソールだけで動く Command Line API というものがあります。

※ table コマンドは、console.table メソッドとしても利用できるので、ページ内からも実行できます
※ ここで使用する処理は、Firebug では動作しました。


(注意) ページに同名のメソッドがあると、そちらが優先されます。jQuery があると、$ は使用できないので注意して下さい。( 逆にその場合は jQuery を使えばいいのですが )

$0 - $4 は、Elemnts タブで選択したオブジェクトを履歴として記憶しています。( $0 が最新 )
$_ は、直前の処理結果の内容が記憶されています。
  1. $_
  2. $0 - $4
  3. $(selector)
  4. $$(selector)
  5. $x(path)
  6. clear()
  7. copy(object)
  8. debug(function)
  9. dir(object)
  10. dirxml(object)
  11. inspect(object/function)
  12. getEventListeners(object)
  13. keys(object)
  14. monitor(function)
  15. monitorEvents(object[, events])
  16. profile([name])
  17. profileEnd([name])
  18. table(data[, columns])
  19. undebug(function)
  20. unmonitor(function)
  21. unmonitorEvents(object[, events])
  22. values(object)
このコマンドは、オブジェクトのプロパティの一覧を縦の左端に置いて、列の内容は全てのプロバティにある全てのプロパティになるので、名前が同じプロバティは同じ列に表示されますが、無い部分は未定義として表示されるため、表示前に適当な構造にしておく必要があります。

▼ 単にオブジェクトのコレクションだと収拾がつかない



そこで、以下のようにコマンドラインで実行すると、意図した一覧を取得する事ができます。
var a = {};var b = $$("img"); for( i=0; i< b.length; i++ ){ a[i] = {}; a[i]["src"] = b[i].src; };table(a)
このコマンドをフリーの画像素材を提供している『足成』で実行してみました。



この結果をブラウザでドラッグして選択してコピーして Excel にテーブル形式で貼り付ける事ができます。



※ 列は、必要に応じて増やす事が可能です。



一行で記述しなくても、普通に以下のように記述して貼り付けて実行する事もできます。
var a = {};
var b = $$("img");
for( i=0; i< b.length; i++ ){
	a[i] = {};
	a[i]["src"] = b[i].src;
	a[i]["幅"] = b[i].width;
}
table(a)

$$ は、document.querySelectorAll() と同じであり、jQuery にも無いので使用しています。for の 一般的なループを使用しているのは、for in だとプロパティの一覧になる為、length 等のコレクションそのもののプロパティも対象になるので使用していません。

jQuery が使えるのであれば、以下のようにも記述できます
var a = {};
$("img").each( function(idx){
	a[idx] = {};
	a[idx]["src"] = this.src;
	a[idx]["幅"] = this.width;
});
table(a);

コンソール側では無く、デバッグの為にページのスクリプトとして記述する場合は以下のようになります。
(画像の場合は全て読み込まれていない場合は正しいサイズは取得できていない場合があります)
var a = {};
var b = document.querySelectorAll("img");
for( i=0; i< b.length; i++ ){
	a[i] = {};
	a[i]["src"] = b[i].src;
	a[i]["幅"] = b[i].width;
	a[i]["高さ"] = b[i].height;
}
console.table(a)




posted by lightbox at 2014-06-28 13:44 | Google Chrome | このブログの読者になる | 更新情報をチェックする
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。

Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。

また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。

※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです

対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。


※ エキスパートモードで表示しています

アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります

<% if:page_name eq 'archive' -%>
アーカイブページでのみ表示される内容
<% /if %>

<% if:page_name eq 'category' -%>
カテゴリページでのみ表示される内容
<% /if %>

<% if:page_name eq 'tag' -%>
タグページでのみ表示される内容
<% /if %>
この記述は、以下の場所で使用します
container 終わり



フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり