今日見たら、Google Docsのメニューバーが変わっていた。いきなり変わってかなりびっくり。
今までメニューバーにあって頻繁に使っていた「引用として囲う」みたいなのが無くなっていて、もうGoogle Docs使えない(これが無いとちょっと使い物にならない)かと思ったら、「スタイル」の中にあった。
僕らはプールの底を歩き続ける。まるで自分の影とダンスを踊るように。
今日見たら、Google Docsのメニューバーが変わっていた。いきなり変わってかなりびっくり。
Lightbox的なJavaScriptライブラリの中でも軽さと機能性が使いやすいibox。
リンクにtitle属性をセットしておくと、開いたiboxのフッターにそのタイトルを表示してくれるが、このときにhtmlエスケープが解除されてしまう。
title="<b>foo</b>"
↓
表示されるタイトル=<b>foo</b>
if(title != "") {ibox_footer.innerHTML = title;} else {ibox_footer.innerHTML = " ";}
↓
if(title != "") {ibox_footer.innerHTML = title.replace(/</g, "<").replace(/>/g, ">");} else {ibox_footer.innerHTML = " ";}
tags: javascript, security 0 コメント
Flash Playerのバージョンが9.0.115の場合に起きる問題。
下記の条件を満たす場合、ActionScriptのgetURL()で他のドメインに遷移できない。
getURL("javascript:window.open('http://example.com/', '_blank');");
target="_blank"などで子Windowで表示し、子Windowに閉じるボタンを付けた場合。javascriptでwindow.close()などとすると、IE7では下記のダイアログが表示される。
ウィンドウは、表示中の Web ページにより閉じられようとしています。このダイアログを表示させない方法。
このウィンドウを閉じますか?
<a href="#" onclick="window.open('test.html');return;">open</a>
<a href="#" onclick="(window.open('', '_self').opener = window).close();">close</a>openの第2引数は_topでも_parentでもよい。存在しないものは駄目。
tags: ie, javascript 2 コメント
WordPress日本語版
WordPress本家の日本語版と、それ以前に有志(?)により日本語化/マルチバイト対応されたME版がある。
Windows版Safariでのみ確認。
iframeを使っていて、かつiframeのsrcが有効なURLの場合に、body.onloadが実行されない。
<html>
<head><title>test</title></head>
<body onload="alert('loaded');"> <!-- これが実行されない! -->
<iframe src="http://www.google.co.jp" />
</body>
</html>
tags: javascript, safari 0 コメント
AutoCopyは文字化けしているせいかアドオン(extension)管理パネルから削除や無効にできない。(設定はできる。)
下記の手順を試したところ、削除できたようだ。
ただし他にゴミファイルが残っていたりして今後支障が生じる可能性が充分にある。
ライブラリTMailを使う。
標準では入っていないのでインストールする。
gem install tmail
$KCODE = 'sjis'
require "tmail"
require "base64"
arg = ARGV[0]
path = arg[4, arg.size]
mail = TMail::Mail.load(path)
log = open("/tmp/receiveVideo/test.log", "w")
log.puts "From:" + mail.from.to_s
log.puts "To :" + mail.to.to_s
log.puts "Subject:" + mail.subject
def parse(part, log)
if part.multipart?
part.parts.each do |p|
parse(p, log)
end
else
if part.content_type == "text/plain"
log.puts "Body:" + part.body
else
attach = open(part.main_type + "_" + part.encoding + "." + part.sub_type, "w")
if part.main_type == "text"
attach.write(part.body)
else
attach.write(Base64.decode64(part.body))
end
attach.close
end
end
end
parse(mail, log)
log.close
"getNextHighestDepth()"を思い出せなかったので次回のためにメモ。
initObjは、プロパティをまとめてセットするためのObject。
_rootは状況次第でthisとかでも。
var initObj:Object = {text:"テキスト", autoSize:"center", _width:400, _y:150};
_root.createClassObject(mx.controls.Label, "test_lbl", getNextHighestDepth(), initObj);
いつものようにGoogle Docsを開くと、ドピンクに染まっていた。今日はバレンタインデーか。
フォームの日付入力の補助に使えるJavaScriptカレンダーの調査。
選定条件は下記の2点。この2点を両方満たすものは意外に少ない。
tags: javascript 0 コメント
Firefox(2.0.0.11)で、formの子要素をJavaScriptを使ってdisabledにしてから次のページへ遷移し、(戻るボタン等で)戻ってきた時のformの子要素のdisabled状況についての調査結果。
disabledのままになるもの
(Firebugで見るとdisabled=""になっているもの)
tags: firefox, html, javascript 0 コメント
php.iniの設定の話。
mbstring.encoding_translationは勝手にインプットデータの文字コードを変換してしまうので、文字化けの原因になることがある。
その場合には、mbstring.encoding_translationをOffにして、各インプットデータをmb_convert_encoding()で変換すれば文字化けを解消できるが、mbstring.encoding_translationはPHPのスクリプト内で設定できない。(参考:PHP: php.ini ディレクティブ - Manual)
php.iniではOnになっているmbstring.encoding_translationをOffにするには、Apacheのhttpd.confか、.htaccessでOffになるよう指定する必要がある。
httpd.confでセットする例
<IfModule mod_php5.c>
<Location "/url_path">
php_value mbstring.encoding_translation Off
</Location>
</IfModule>
debugなどで変数の中身を見たい時などにvar_dump()したりするけど、そんな変数を文字列に変換する関数たちによる変数型による違いを比較してみた。
(凡例:型 => 文字列に変換した値の例)
print_r()
UTF-8で、preg_replace()を使ってカタカナを変換しようとしたところ文字化けが発生。
$str = 'ピーエイチピー';
$regex = '[^ピー]+';
$replace = 'ピー';
echo preg_replace("/$regex/", $replace, $str);
↓
ピー�ピー�ピー�ピーピー
$str = 'ピーエイチピー';参考: PHP: パターン修飾子 - Manual
$regex = '[^ピー]+';
$replace = 'ピー';
echo preg_replace("/$regex/u", $replace, $str);
↓
ピーピーピー
$str = 'ピーエイチピー';
$regex = '[^ピー]+';
$replace = 'ピー';
echo mb_ereg_replace($regex, $replace, $str);
↓
ピーピーピー
php.iniにあるWindows専用の設定"sendmail_from"と関数mail()/mb_send_mail()について。
メールアドレスをセットしておくと、そのメールアドレスがmail()やmb_send_mail()で送るメールのFrom、Return-Path、それにSMTPのMAIL FROM(エンベロープFrom) として使われる。
sendmail_fromがセットされていない場合、mail()/mb_send_mail()の第4引数の中で指定するメールheaderの中のFromが、Return-PathやエンベロープFromにも使われる。
その場合にFromにメールアドレスだけでなく表示名(例:山田 <foo@example.com>)も付けている場合は、メール送信に失敗する。
Fromの表示名も使いたい場合、メールheaderには表示名付きのFromをセットし、エンベロープFromには ini_set("sendmail_from", $from) でメールアドレスのみのFromをセットすればOK。
sendmail_fromもheaderの中のFromもセットされていない場合、メールの送信はできない。(Warning "sendmail_from" not set in php.ini or custom "From:" header missing in ... になる。)
手元にあるApache2.2.8で、出力するファイルの拡張子を元にMime type(Content-type)を設定している設定の中で、主なものの抜粋。
ファイル:httpd.conf
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
ファイル:mime.types
application/atom+xml atom
application/javascript js
application/msword doc dot
application/octet-stream bin dms lha lzh class so iso dmg dist distz pkg bpk dump elc
application/pdf pdf
application/rdf+xml rdf
application/rss+xml rss
application/vnd.ms-powerpoint ppt pps pot
application/x-shockwave-flash swf
application/xml xml xsl
application/zip zip
audio/mpeg mpga mp2 mp2a mp3 m2a m3a
audio/x-ms-wma wma
image/bmp bmp
image/gif gif
image/jpeg jpeg jpg jpe
image/png png
image/x-icon ico
text/css css
text/csv csv
text/html html htm
text/plain txt text conf def list log in
video/3gpp 3gp
video/3gpp2 3g2
video/mp4 mp4 mp4v mpg4
video/mpeg mpeg mpg mpe m1v m2v
video/quicktime qt mov
video/x-ms-wmv wmv
video/x-msvideo avi
注意点: