PDFファイルの一部のページだけ保存する。 - Yahoo!知恵袋
Google Chromeの印刷機能で出力をプリンターでなくPDFにできることを利用する。 なるほど。
僕らはプールの底を歩き続ける。まるで自分の影とダンスを踊るように。
PDFファイルの一部のページだけ保存する。 - Yahoo!知恵袋
Google Chromeの印刷機能で出力をプリンターでなくPDFにできることを利用する。 なるほど。
ブラウザで表示している画面のスクリーンショットを撮るプラグインのメモ。
Firefox以外のモダンブラウザは、標準で装備していた。
| ブラウザ | 調査した バージョン | ログの表示方法 | その他 |
| IE | 8 | ツール ↓ 開発者ツール ↓ 「スクリプト」タブ | IE8以降で搭載。 String型にCASTされて出力される。 (Objectの中身は見られない。) |
| Firefox | 6.0 | アドオンのFirebugを使う | |
| Chrome | 11.0 | ツール ↓ JavaScript コンソール ↓ 「Scripts」タブ | |
| Safari | 5.1 | ページのメニューボタン ↓ 開発 ↓ JavaScriptのデバッグを開始 ↓ 「コンソール」タブ | Windows版で確認。 |
| Opera | 11.50 | Operaボタン ↓ ページ ↓ 開発者用ツール ↓ Opera Dragonfly | バージョン11から搭載。 ObjectやArrayの中身は見られない。 CSS等のエラーとごっちゃに出るので見辛い... |
Twitterで情報を集める上で便利なツールを集めてみた。
tags: api, chrome, extensions, firefox, google, google-search, map, realtime-search, search, twitter 0 コメント
WebFontsを読み込む場合のCSSの書き方はブラウザごとに異なるため、こんなsyntaxを使う必要がある。
しかし、Google Font APIで読み込むCSSをではそんな書き方はしていない。
そこで、試しにTangerineのCSSを各ブラウザで読み込んでみて、Google Font APIがどのようにマルチブラウザ対応をしているのか調べてみた。
IE 8
@font-face {URLはIE専用。
font-family: 'Tangerine';
font-style: normal;
font-weight: normal;
src: url('http://themes.googleusercontent.com/font?kit=HGfsyCL5WASpHOFnouG-RPY6323mHUZFJMgTvxaG2iE');
src: local('Tangerine'), url('http://themes.googleusercontent.com/font?kit=HGfsyCL5WASpHOFnouG-RD8E0i7KZn-EPnyo3HZu7kw') format('woff');
}
@font-face {URLはChromeと同じ。
font-family: 'Tangerine';
font-style: normal;
font-weight: normal;
src: local('Tangerine'), url('http://themes.googleusercontent.com/font?kit=HGfsyCL5WASpHOFnouG-RD8E0i7KZn-EPnyo3HZu7kw') format('woff');
}
@media screen {URLはFirefoxと同じ。
@font-face {
font-family: 'Tangerine';
font-style: normal;
font-weight: normal;
src: local('Tangerine'), url('http://themes.googleusercontent.com/font?kit=HGfsyCL5WASpHOFnouG-RD8E0i7KZn-EPnyo3HZu7kw') format('woff');
}
}
@font-face {URLはSafari用(Operaと共通)。アンダーバーで区切ってるのはiPhone用(iOS用?)が別にあったりするためか?
font-family: 'Tangerine';
font-style: normal;
font-weight: normal;
src: local('Tangerine'), url('http://themes.googleusercontent.com/font?kit=HGfsyCL5WASpHOFnouG-RKCWcynf_cDxXwCLxiixG1c') format('truetype');
}
@font-face {URLはSafariと同じ。OperaもTrueType組。
font-family: 'Tangerine';
font-style: normal;
font-weight: normal;
src: local('Tangerine'), url('http://themes.googleusercontent.com/font?kit=HGfsyCL5WASpHOFnouG-RKCWcynf_cDxXwCLxiixG1c') format('truetype');
}
HTML5ではreferrerを送らないという記述ができるらしい。
WebKit nightlies support HTML5 noreferrer link relation.ja – WebKit
これを利用して、Google Chromeでreferrerを送らないようにする拡張があった。
Google Chrome拡張 「noreferrer link」を作りました - awef
これでいよいよFirefoxからChromeに本格乗り換えか? (でも面倒だなあ...)
というわけで2011年もよろしくお願いいたします。
tags: chrome, extensions, html5, network, referer, web-browser 0 コメント
例えば、上から下に白から青のグラデーションを表示したい場合はこう書く。(省略可能なパラメータは省略した。)
/* IE */
filter: progid:DXImageTransform.Microsoft.Gradient(StartColorStr=#ffffffff, EndColorStr=#ff0000ff);
/* IE8 */
-ms-filter: "progid:DXImageTransform.Microsoft.Gradient(StartColorStr=#ffffffff, EndColorStr=#ff0000ff)";
/* Firefox */
background: -moz-linear-gradient(white, blue);
/* Chrome, Safari */
background: -webkit-gradient(linear, left top, left bottom, from(white), to(blue));
(2011/3/29追記:Firefox4とChrome10の実験結果を追加。)
JavaScriptに続いて、動的にCSS(またはstyle要素)を追加する場合の、追加方法の違いによるブラウザごとの挙動も調べた。
調査に使ったJavaScript(HTML5なのでtype属性は省略してある。)
window.onload = function() {
// divのinnerHTMLに外部CSSの読み込みを突っ込む
try {
var div1 = document.createElement("div");
div1.innerHTML = '<link rel="stylesheet" href="test1.css" />';
document.body.appendChild(div1);
} catch(e) {
}
// createElementでlink要素を生成して外部CSSを読み込む
try {
var link2 = document.createElement("link");
link2.rel = "stylesheet";
link2.href = "test2.css";
document.getElementsByTagName("head")[0].appendChild(link2);
} catch(e) {
}
// divのinnerHTMLに生のstyleを突っ込む
try {
var div3 = document.createElement("div");
div3.innerHTML = '<style>#test3{ color: red }</style>';
document.body.appendChild(div3);
} catch(e) {
}
// createElementで生のstyleを追加する
try {
var style4 = document.createElement("style");
style4.innerHTML = "#test4{ color: red }";
document.getElementsByTagName("head")[0].appendChild(style4);
} catch(e) {
}
};
#test1{ color: red }
#test2{ color: red }
| ブラウザ | 1 | 2 | 3 | 4 |
| IE 8 | X | O | X | X |
| Firefox 3.6 | O | O | O | O |
| Firefox 4.0 | O | O | O | O |
| Chrome 4 | O | O | O | X |
| Chrome 10 | O | O | O | O |
| Safari 4 | O | O | O | X |
| Opera 10.53 | O | O | O | O |
(2011/3/29追記:Firefox4の実行結果を追加)
JavaScriptによって動的にscript要素を追加する場合の、追加方法の違いによるブラウザごとの挙動を調べた。
調査に使ったJavaScript(HTML5なのでtype属性は省略してある。)
<script>
function test(value) {
document.getElementById("test").value += value + ",";
}
window.onload = function() {
// innerHTMLに外部JSの読み込みを突っ込む
try {
var div1 = document.createElement("div");
div1.innerHTML = '<script src="test1.js"><' + '/script>';
document.body.appendChild(div1);
} catch(e) {
}
// createElementでscript要素を生成して外部JSを読み込む
try {
var script2 = document.createElement("script");
script2.src = "test2.js";
document.body.appendChild(script2);
} catch(e) {
}
// innerHTMLに生のJSを突っ込む
try {
var div3 = document.createElement("div");
div3.innerHTML = '<script>test(3);<' + '/script>';
document.body.appendChild(div3);
} catch(e) {
}
// createElementで生のJSを追加する
try {
var script4 = document.createElement("script");
script4.innerHTML = "test(4);";
document.body.appendChild(script4);
} catch(e) {
}
};
</script>
test(1);
test(2);
| ブラウザ | 1 | 2 | 3 | 4 | 表示順 |
| IE 6/8 | X | O | X | X | 2 |
| Firefox 3.6 | O | O | O | O | 1→2→3→4 |
| Firefox 4.0 | X | O | X | O | 4→2 |
| Chrome 4 | X | O | X | O | 4→2 |
| Safari 4 | X | O | X | O | 4→2 |
| Opera 10.53 | X | O | X | O | 2→4 |
検索向けAdSenseによるサイト内検索で、IE以外だと検索結果の下端が切れてしまう問題について。
【発生条件】
検索結果を自分のサイト内に表示する場合に起きる。
広告を右のみにした場合に起きた。広告を他の位置にしたら起きないかも。
Firefox(3.5)、Google Chrome(4)、Safari(4 Windows版)で発生を確認した。
【現象】
検索結果の内容に関わらず、検索結果を表示するiframe(JavaScript http://www.google.com/afsonline/show_afs_search.js により生成される)の高さが常に1200pxになる。
その結果、検索結果が少ない場合は検索結果とフッターの間に大きな空白ができる。反対に検索結果が多い場合、検索結果の下端に表示されるページ番号の表示が途中で切れてしまったり表示されなくなってしまう。(実際にはframeの外側にあり、かつframeのスクロールバーが非表示になっているので隠れているだけだが。)
IEの場合、iframe内の検索結果のHTMLのbody要素に、onloadで下記のようなJavaScriptを実行している。
onload="window.top.location='http://(親windowの検索結果のURL)#'+document.body.scrollHeight;"これにより、親windowのURLの末尾にiframe内のコンテンツの高さを表すhashが付く。
var var googleSearchFrameWidth = 800; //これは既存のコードこれにより、デフォルトの高さが1210pxになり、検索結果の下端が切れなくなる。
var googleSearchFrameHeight = 1210; //これを追加する
tags: chrome, download, extensions, install 2 コメント
User ScriptsはChrome2(現在Beta版またはDev版 正式リリースされた)から使える。
tags: chrome, greasemonkey, mouse, user-script 1 コメント
ChromeでQueryStringを含むURLを見ようとするとしばしば「404 Bad Request」になってしまうことがあり、調べたらIEと同じ現象らしい。
/~sugano/ » Google ChromeのDigest認証
IEへの対応は、Apacheいじり始めてすぐに入れたのでそういうものだと思ってたけど、まさかこんなところで再開するとは。
Google Chrome触ってみた。速い速い。昔のOperaを思い出す。それ以上に速い。
JavaScriptコンソールやHTML解析っぽいのもデフォルトで付いてる。
アプリケーションショートカットもなかなか面白い。htaみたい。社内向けシステムとかで余計な上部メニューを消したい場合なんかにもいいかも。
これでExtensionとは言わないまでもGreaseMonkey(CreamMoneky?)くらいあれば乗り換えるかも...。せめてGoogle Customize相当のものがあればなあ。
tags: chrome, google, web-browser 0 コメント