IE8 ではかなりの数のメソッドやプロパティが増えているようです。書き残します。 element.getAttribute について追記しました。 window.toStaticHTML window.toStaticHTML は、XDomainRequest や postMessage で受け取った文字列(HTML)をサニタイズ(消毒)するメソッド。 XHRやJsonで受け取った文字列のサニタイズにもシーンを選べば使えるのだろうか。 onclick等のイベントハンドラ系を潰す。 <div onclick="alert('hoge')">hoge</div> ↓ <div>hoge</div> scriptタグを潰す。 <script>alert("hoge")</script> ↓ 無かったことになる CSS::expressionを潰す img { expression(uuClass
Firefoxではscript要素のdefer属性がサポートされていて、これを使うと、DOM構築後に実行したいスクリプトのインデントを一段減らすことができて便利なのだが、Safariではサポートされていない。 <head> <script defer="defer"> document.body.style.backgroundColor = "#00ffff"; </script> </head> どうしても使いたいので、どうにかするスクリプトを書いた。 <head> <script src="defer.js"> document.body.style.backgroundColor = "#00ffff"; </script> </head> defer属性の代わりにscript要素のsrcに"defer.js"を追加するだけで使えるようになる。 javascripter's gis
http://ss-o.net/json/ 以下に対して、.htaccessで Header append Access-Control-Allow-Origin: *という指定をして、ヘッダーにAccess-Control-Allow-Originをつけているので、(*はすべてのドメインからのリクエストを許可) http://ss-o.net/json/wedataAutoPagerize.json http://ss-o.net/json/wedataLDRize.json などのファイルについてはFirefox3.5、Safari4、Google Chrome 2、IE8*1などのブラウザではクロスドメインでXMLHttpRequestを投げることができます。 サンプルコード javascript:(function(){ var xhr=window.XDomainRequest?
“Regular Expressions Cookbook manages to be simultaneously accessible and almost ridiculously comprehensive.” —Jeff Atwood Recommended regex tools: • RegexBuddy • RegexMagic • PowerGREP What is it? XRegExp provides augmented (and extensible) JavaScript regular expressions. You get modern syntax and flags beyond what browsers support natively. XRegExp is also a regex utility belt with tools to make
getBrowserVersion() は、ブラウザのバージョン番号(Major[.Minor])を返します。 <html><head><title></title></head><body> <script> function getBrowserVersion() { // @return Number: return window.opera ? (opera.version().replace(/\d$/, "") - 0) // Opera10 shock : parseFloat((/(?:IE |fox\/|ome\/|ion\/)(\d+\.\d)/. exec(navigator.userAgent) || [,0])[1]); } window.onload = function() { alert(getBrowserVersion()); } </script> <
Based on the Javascript Crunchinator Demo, you can use this to quickly create a bookmarklet from some javascript code. Enter your javascript code in the text area below Input. Enter a name for the bookmarklet in the Name field. Click crunch, and the code will be compressed, and turned into a link under output. You can then drag this to your bookmarks toolbar as a bookmarklet, or right click and bo
Opera で DOM Mutation Event を使用するコードを追記しました。 まとめを追加しました。 Opera パート2に取得できないケースが見つかったため、パート3 を追加しました。 rhino.jpg(幅:300px, 高さ:227px) を、 <img id="rhino" src="rhino.jpg" width="100" height="75" /> と、100 x 75 で表示している場合を例に、画像本来のサイズを取得する方法をご紹介します。 Firefox, Safari, Google Chrome なら image.naturalWidth と image.naturalHeight を利用します。 image.naturalWidth と image.naturalHeight の初期値は 0 です。画像の読み込みが完了した時点で適切な値に更新されます。
Bluff is a JavaScript port of the Gruff graphing library for Ruby. It is designed to support all the features of Gruff with minimal dependencies; the only third-party scripts you need to run it are a copy of JS.Class (2.6kB gzipped) and a copy of Google’s ExCanvas to support canvas in Internet Explorer. Both these scripts are supplied with the Bluff download. Bluff itself is around 11kB gzipped. T
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
既に色々なところで話題になっているAmazonのECSがProduct Advertising APIに名称変更され、3か月後には認証を要求するようになるという変更は、Pipes(やYQL)などを利用してJavaScriptだけで書かれているアソシエイト・ツールにはかなり厳しい気がする。シグネチャの生成自体はJavaScriptで出来るので、とりあえずAsamashi09を対応させたけど、Secret Access Keyを隠さないといけないのでこのままでは公開できない(動作サンプルすら提供できない)。 使ってみる場合は適当な場所にダウンロード(↓downloadとかいうボタンから)して、適当な場所に展開後、asamashi09.jsの11行目と12行目を自分のAccess Key IDとSecret Access Keyに置き換え、index.htmlをブラウザで開けば動く(はず)。 使
JavaScriptは悪くない - 0xFF この辺の記事を読みながら改めてモダンJavaScriptについて再考する時期なのかなー、と思い考えてみました。 考えられる要素 Ajax XMLHttpRequest クロスブラウザ DOM Event パフォーマンスチューニング 高速化 ファイルサイズ テスト Firebug IE オブジェクト指向 プロトタイプベース ユーザビリティ JavaScriptオフ HTML+CSS+JavaScript 今風の書き方 オブジェクト 関数 スコープ クロージャ 定番ライブラリ jQuery prototype.js Yahoo UI Library Ext.JS とりあえずは 上記のカテゴリの中で細かい部分についてはエントリにおこしてみたいなー、と考えてます。 突っ込み大歓迎!っていうスタンスで改めてノウハウの蓄積ができたらいいなー、と。 Java
<!--HTMLでは--><script defer></script> <!--XHTMLでは--><script defer="defer"></script> script要素にはdefer属性があって、これはdocument.write系がないことを条件にscriptの中身を後で評価することによってページのレンダリングを妨げないようにするものと説明されている。ただdeferが利用されているサイトってなかなか見たこと無いうえに本当にレンダリングを妨げないか興味があったので調べた。 実装されているブラウザ 調べた範囲ではIE(SafariとKon〜は調べてない)のみ。あとIEはscript要素にdefer属性をつけるとinnerHTMLに代入したscriptが実行されるという仕様がある。 // 以下は動かないので駄目 hoge.innerHTML = "hoge<script>aler
よく考えがちなのは、 広告配信側のサーバのレスポンスが悪い・遅い だけど、結構html上の問題もある。 特にIEの場合。 自分で今回体験したのは、 adsenseから先が出ない adsenseの表示箇所(google_ad_request_done())は外部js化 それを直接html上に記述すると早い というもの。IEの場合のみ顕著。 で、よくよく解析すると、adsense前に画像を大量に呼び出していて、そこが原因。 しかも、ページングして表示可能みたいな画像一覧表示とか。 dhtml的に書くと、IEはいったん非表示の画像も取得している模様。 で、IEの接続MAXに達して、遅延。 画像のあとにあるadsenseの外部jsファイルを取りにいくのも遅れる、という流れ。 adsenseの外部jsを直接htmlに書けば、当然最初に読まれるhtml内のためレスポンスの待ち行列に並ばずにいける、と。
ウノウラボ by Zynga Japan: IEでlabelの子要素に画像を含めるをより汎用的に実装してみます。 まず、修正方針は以下の2点。 HTML側に処理を書かない(onclickは使わない) IEだけで処理されるようにする 素直に書いてみるとこういった感じになります。 /*@cc_on window.attachEvent('onload', function(){ // まず、label内の画像に自分がクリックされたらlabelにクリックを投げる関数を定義する var label_img_enclick = function(label) { var imgs = label.getElementsByTagName('img'); for (var i = 0, l = imgs.length;i < l; ++i) imgs[i].attachEvent('onclick',
名前から察しの通りlocation.hashが変更になったタイミングで動作する関数。初期値はnull。 alert(window.onhashchange); // null sample.html <html> <head> <meta http-equiv="X-UA-Compatible" content="IE=8" > <script type="text/javascript"> window.onhashchange = function(){ alert(location.hash); }; </script> </head> <body> <a href="sample.html#foo">foo</a> <a href="sample.html#bar">bar</a> </body> </html>
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く