タグ

2007年9月21日のブックマーク (8件)

  • innerHTMLでscriptする - Thousand Years

    innerHTMLにscriptを代入しても評価されず無視されるのはIEの仕様なのでいいとしてその回避策。最近、昔あの方法で出来たんだけどいつの間にかできなくなってるコードが出てきている気がします(気のせいにしておこう)。 以下は一般的な動かないコード。 <div id="foo"></div> <script type="text/javascript"> document.getElementById('foo').innerHTML = "<script type='text/javascript'>alert('動かない')<"+"/script>"; </script> 以下は動くコード。 <div id="foo"></div> <script type="text/javascript"> document.getElementById('foo').innerHTML =

    innerHTMLでscriptする - Thousand Years
    shimooka
    shimooka 2007/09/21
    innerHTMLの中にscriptを挿入したければscript要素にdefer属性を入れなさい
  • script要素のdefer属性の実装 - Thousand Years

    <!--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

    script要素のdefer属性の実装 - Thousand Years
    shimooka
    shimooka 2007/09/21
    IEはscript要素にdefer属性をつけるとinnerHTMLに代入したscriptが実行されるという仕様がある
  • http://rails.office.drecom.jp/takiuchi/archive/100

  • IE、組込みのスクリプト要素を追加実行できない - FAX

    IE、組込みのスクリプト要素を追加実行できない JavaScript タイトルがちょっと適切じゃないけど。 IE7のinnerHTMLに関する仕様変更 - Hello, world! これを読み、私も試したが同様の動きをしない。 IE 7でも、IE 6でも、以下はエラーとなり、 var s = document.createElement('script'); s.innerHTML='alert(1)'; // 未知の実行時エラーです s.innerText='alert(1)'; // 未知の実行時エラーです 以下は何も起きない。 var s = document.createElement('span'); s.innerHTML='ABCD <script type="text/javascript">alert(1)<\/script> EFG'; Firefox 2.0、Ope

  • IEでは、商標マーク®をサーバに送信すると&reg;になる

    いやー今日は勉強になりました。 IE6でしか試していないのですが、商標マーク「®」など、一部のHTMLエンティティな文字列をサーバへ送信すると「®」という文字列として送信されるようです。 試しにやってみる 試しに、yahoo.co.jpでやってみます。 そして送信後 ※ IEが英語版だったりしますが、日語版でも同様になります 他のサイトでもやってみる yahoo.co.jpという大手だから何かやってるのかなーと思ってたんですが、search.yahoo.co.jpやyahoo.com、googleで「®」の文字をコピペして送ってみました。 search.yahoo.co.jpでやってみた コピペして 送信後 あれ、ポータルトップページから送信したのと結果が違う… yahoo.comでやってみる コピペして 送信後 ちゃんと「®」として表示されます google.co.jpは

  • JavaScriptにおけるURLエンコードの処理

    このメモは、JavaScriptでクッキーを処理する場合のポイントをお示しし、URLエンコードに関わるトラブルを回避していただくことを目的にしています。お急ぎの方は3章と4章を飛ばして読んで頂いて構いません。なおこのメモはなるべくIEでご覧下さい。 目次 1.  1 クッキーとURLエンコーディング 2.  2 URLエンコーディングとは 3.  3 JavaScriptにおけるescape()とunescape()関数 4.  4 JavaScriptにおけるencodeURI、decodeURI、encodeURIComponent、decodeURIComponent 5.  5 それでは一体どうすればよいか? 6.  6 UTF-8のURLエンコード・デコード関数の例: プログラム例 7.  7 JSPとJavaScript間のクッキーによるデータ交換例 HTMLテキスト以外にウェ

  • 2007-09-20

    非常に単純で、コードをべた書きできないからだと思う。文字列として渡さなければならないので、$ や " や ' を一々丁寧にエスケープしないとならないのが非常に、面倒くさい。 Perlであれば、 eval { my $i = 0; ... }; die $@ if $@;みたく書けるし、また、無名サブルーチン/関数も my $lambda = sub() { my ($a, $b, $c) = @_; ... $a + $b; };と書ける。 続きを読む PHPのスクリプトは、 <?php ... ?>の枠の「外」については、HTMLを想定してそのまま出力する。つまり、使いようによってはPerlRubyのDATAセクションのような使い道ができるはず。これを逆手に取り、出力バッファリング関数で意図的にこの枠外の文字列を取得してしまう。 論より証拠。 hoge1.php : <?php $i

    2007-09-20
    shimooka
    shimooka 2007/09/21
  • EclipseとPHPのWin-Win関係は生まれるか - @IT

    Eclipse Foundationが、「Eclipse PHP Development Tools(PDT)」プロジェクトのリリース1.0を提供開始した。 Eclipseは9月18日に、PDTをリリースしたと発表した。同製品は、PHP言語を使う開発者の生産性を高めるツールとフレームワークのセット。PHPスクリプティング言語はWeb開発に広く使われており、HTMLに埋め込むことができる。 Eclipse PDTは、推定約400万人の開発者を抱えるPHP開発者コミュニティをターゲットにした初のEclipseプロジェクト。一方、Eclipseのオープンソースアプリケーション開発プラットフォームのユーザーは約230万人で、主にJavaやC/C++向けのツールを使っている。Eclipse Foundationの担当者は、PDT 1.0のリリースにより、PHPコミュニティはEclipseベースのID