はじめまして新潟 隣の県なのになんとなく遠いイメージがあった新潟。休日出勤の振休と夫の休暇(上司から取れと言われたらしい、かわいそ…)が合ったので久々に遠出しよう!となり新潟へ。このあたりで隣の県を選ぶあたり我々の出不精具合が現れていますね。 1日目 行くぜ新潟 まずはへ…

はじめまして新潟 隣の県なのになんとなく遠いイメージがあった新潟。休日出勤の振休と夫の休暇(上司から取れと言われたらしい、かわいそ…)が合ったので久々に遠出しよう!となり新潟へ。このあたりで隣の県を選ぶあたり我々の出不精具合が現れていますね。 1日目 行くぜ新潟 まずはへ…
JavaScriptページロード時にプログラムを実行するためにwindow.onloadやbody.onloadがしばしば使われる。しかし、ページ内に大きな画像が存在する場合などは、画像のロードを待つため、実行が遅れてしまう。「ドキュメントのロードが終わっていて、かつ、イメージのロードが完了する前」に関数を実行する方法のリンク2つの要点をコピー。 script要素defer、DOMContentLoadedイベントを利用する方法The window.onload Problem - Solved! Firefoxの場合非公式のイベントハンドラ、DOMContentLoadedを利用する。 // for Mozilla browsersif (document.addEventListener) { document.addEventListener("DOMContentLoaded",
Greasemonkeyの過去においてのセキュリティ上の問題の解説。 Greasemonkeyだけに限らず、JavaScriptによるユーザ拡張を作成している全ての方に対して一読の価値があるドキュメントだと思われます。 原文:O'Reilly Media - Technology and Business Training Greasemonkeyの共通な落とし穴を避ける Greasemonkeyのセキュリティの歴史があなたの今にどう影響するのか (著) Mark pilgrim "Greasemonkey Hacks"の著者 2005/11/11 昔々、あるところにセキュリティホールがありました。(これは普通のおとぎ話ではないからそのまま読んでください。) Greasemonkeyのアーキテクチャは最初に書かれて以来大幅に変更されてきた。Version0.3は初めて広範囲に人気を得たバー
画像拡大後も処理を繰り返してしまう問題があったので修正しました。 http://yagi.xrea.jp/2006/12/miximix.user.js Greasemonkeyスクリプトなどを書いてると、対象HTML中にJavaScriptを埋め込みたくなることがあります。 ベタに書くと大変うざいことにりますが、 script.innerHTML = "add = function(a, b){" + " var ans = a + b;" + " return ans;" + "}"; こう書くとすっきり。 script.innerHTML = "add = " + (function(a, b){ var ans = a + b; return ans; }); 関数を普通に記述した上で、それを文字列に変換。
Javascriptでオブジェクト指向なコードを書くには、prototypeベースな言語ゆえ、他のOO言語と異なり多少の小細工が必要になります。やり方は幾つもあるようですが、自分であれこれ試してみたうえでのまとめをここで共有してみます。 OOPと言っても、あくまで個人的に最低限必要だと思うこれら機能の実現を目的にしています: 子クラスのコンストラクタにて、親のコンストラクタを実行 他のOO言語では空気を吸うがごとく実装されている機能 メソッドの継承 Child.prototype = new Parent() なんて親インスタンスを作る事無くなんとかする これらをいかに少ない手間で実現できるか。hacker諸氏ならばちょろっと頭使えばできるのでしょうが、自分はウダウダ時間かけて悩んでしまいました orz。以下3通りの解決策です。 目次 専用のextend関数を使う 使い方 サンプルおよびテ
JSRuby でここらへんのことをやるのに、Javascript でのオブジェクト判定をあれこれ試したので、TIPS 的に書いてみる。 といっても、教えてもらったり、blog で読んだりしたことを試してまとめてみただけなのだが。実はもっと良い方法があると言うことであれば教えてもらえると嬉しい。 オブジェクト判定 typeof とか instanceof があるので、ここらへんを使えば済みそうなのだが、ちょっと問題が。 typeof "abc" // => "string" typeof new String("abc") // => "object" "abc" instanceof String // => false new String("abc") instanceof String // => true cho45 さんが書かれているように「 Javascript では全てがオブ
2007年04月25日12:00 カテゴリLightweight LanguagesBlogosphere Digest - 今日にでも使うべきJavaScriptの7つのテクニック 良質の記事だけに全訳したかったのだけど、時間もないので紹介と抄録。 Digital Web Magazine - Seven JavaScript Techniques You Should Be Using Today サンプルコードは、適宜書き換えてあります。 1. Branch when possible - 分岐はなるはやで これは実例を見た方が早いでしょう。クロスブラウザー対応のaddListener()を考える。機能だけを考えれば、以下でOK。 function addListener(el, type, fn) { if ( window.addEventListener ) { el.addE
なんか、既出な予感もするんですけど 私製版を作ったので コード var load = function(src, check, next) { check = new Function('return !!(' + check + ')'); if (!check()) { var script = document.createElement('script') script.src = src; document.body.appendChild(script); setTimeout(function() { if (!check()) setTimeout(arguments.callee, 100); else next(); }, 100); } else next(); }; 考え方は、 このエントリ と同じです。 使い方 以下の場合 // 処理 1 // ← ここで jQu
JavaScript には基本的にブロックスコープというものが存在しない。どうしてもブロックスコープを扱いたいときは function 式を使ったりする。 var a = 10; { var a = 20; print(a); // 20 } print(a); // 20 var a = 10; (function () { var a = 20; print(a); // 20 })(); print(a); // 10 だがやはりブロックスコープがあったほうが便利ということで JavaScript 1.7 では let 式、let 文、let 宣言が導入される。 var a = 10; let (a = 20) { print(a); // 20 } print(a); // 10 しかしこれでは対応するブラウザが Firefox 2 以降などに限られる。ところが、with 文とオブ
setTimeoutやsetIntervalで関数を実行するとthrowされた値がキャッチできない。そこで下記のように関数を上書きするだけでthrowがキャッチできる。(console.errorは javascriptのデバック方法に依存するのでお好みのコードに置き換えて使えばOK) 使い方 catchした後の処理はお好みのコードに差し替え。 できるだけ早く以下のコードが実行されるようにする。 あとは、いつも通りのコーディングでOK. (function(){// debug. // setTimeout var _setTimeout=window.setTimeout; window.setTimeout=function( func, ms ){ func = ( typeof func == 'function' )?func:new Function(func); return
未だに半年前のエントリにブクマされるみたいなので、もう少しjavascriptについて書いてみる。 今回は大規模化開発におけるJavascriptの注意点とかそういうの。当てはまらない環境の方もいます。(しかも基本的な事だらけで大したことは書いてないです) ほぼリッチクライアントを主目的としたjavascripterとコードを対象とします。 どちらかというと、ライブラリを提供する側の視点から 1.ログを出力せよ あなたが書いたコードは遅い、と必ず言われます。なので言われる前から、自分の書いたコードの処理時間をログするようにしましょう。 次のような処理時間を計測するロガーを作ります。 var TraceLog = function (){ this.startTime = -1; var outer = document.getElementById('_outer'); if(oute
以下の一行をすべての JavaScript の前に読み込む /*@cc_on _d=document;eval('var document=_d')@*/ この一行を読み込むことによって IE での document へのアクセスが 5 倍速くなります。 たとえば 以下のように、読み込む前と読み込んだ後を比較してみます。 // Before var date = new Date; for (var i = 0; i < 100000; i++) document; alert(new Date - date); // 643 /*@cc_on _d=document;eval('var document=_d')@*/ // After date = new Date; for (var i = 0; i < 100000; i++) document; alert(new Date -
先日、タブ切り換えタイプの UI を、JavaScript と CSS で簡単に実装する仕組みを探していて (他力本願)、ちょうど求めていたスクリプトが Arc... 先日、タブ切り換えタイプの UI を、JavaScript と CSS で簡単に実装する仕組みを探していて (他力本願)、ちょうど求めていたスクリプトが Archiva さんで紹介されていたので使わせていただきました。 時間がなかったので、できれば自分では書きたくないなぁ、なんかいいの公開している人いないかな~なんて思っていたのですが、おかげ様で助かりました。ということで、お礼を兼ねて紹介させていただきます。 タブ切替をサクッと実装 : Archiva タブ切り換えを実装する JavaScript ライブラリやサンプルソースはいくつか存在しますが、私が求めていたのは JavaScript が OFF の時でもページ内リンクと
本日2025年7月7日、弊社フィードテイラーは創業から丸19年を迎えました。 もうすぐ20年です。ここまで続けられているのも、ひとえに日頃からお付き合いを頂いているお客様やパートナーの皆さんや社内メンバー、仲良くして頂いてる経営者仲間の皆さんのおかげです。心より感謝申し上げます。ありがとうございます。 恒例ではありますが、近況のご報告などを。 Claude Code の『JOIN』 この1年の間で最も大きな弊社変化の一つが、5月下旬に登場したClaude Codeの導入です。 2024年後半から Cursor、GitHub Copilot、Cline など色々使ってきましたが、それらを遥かに凌ぐタスク処理能力で業界が騒然としましたね。弊社でも早々に評価して、6月より社用標準ツールとして位置付けました。 が、正直 Claude Code の採用は、ツールの導入というより 組織に新たなメンバー
2007年08月17日01:15 カテゴリ翻訳/紹介Lightweight Languages 怠翻 - JavaScriptでありがちな9つのシマッタ 私自身結構シマッタしちゃうので。 Nine Javascript Gotchas 尻カンマ注意 以下のコードはFireFoxでは動きますが、Internet Explorer (以下IE)では問題になります。 var theObj = { city : "Boston", state : "MA", } 最後にカンマが入らないよう注意しましょう。 浮気なthisは何を見てるやら 以下のコードで、thisは何を指しているでしょうか。 <input type="button" value="Gotcha!" id="MyButton" > <script> var MyObject = function () { this.alertMess
@nitoyon IE 6 エラーになる?やべー、手元に Windows がないー。ちょっと別のマシン起動してきます。 http://twitter.com/amachang/statuses/191685642 ってのがあったのでonerrorを使ったエラーの検出方法について書いてみたいと思います。 いきなりソースコード var err = function(a,b,c){ var img = new Image(); img.src = 'http://example.com/error.gif?a=' + escape(a) + '&b=' + escape(b) + '&c=' + escape(c); return true; } window.onerror = err; 用意するもの 上のスクリプトをできるだけページの上部に設置 アクセスログを閲覧できる場所に1x1のerro
This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く