<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[21]</anchor-end> <dfn><code class="CSS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">expression()</anchor></code></dfn> は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>として指定された
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JavaScript</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">コード</anchor>を実行し、その結果を返す<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CSSの関数</anchor>でした。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IE</anchor> が実装していました。</p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <em>JavaScript質問スレ</em> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://pc2.2ch.net/test/read.cgi/hp/1041701828/791-">http://pc2.2ch.net/test/read.cgi/hp/1041701828/791-</anchor-external> <code class="CSS">expression()</code> が評価されるのはいつか→マズー</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <em>About Dynamic Properties</em> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://msdn.microsoft.com/workshop/author/dhtml/overview/recalc.asp">http://msdn.microsoft.com/workshop/author/dhtml/overview/recalc.asp</anchor-external></li></ul><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end>
/my/misbehaviors/ <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://dean.edwards.name/my/misbehaviors/">http://dean.edwards.name/my/misbehaviors/</anchor-external></p><p>WinIE の CSS の拡張の expression 関数は便利ですが、事あるごとに再評価されるので動作が遅くなります。そういう時は、この文書で紹介されているように expression の中で自分自身の指定を別のもので上書きしてしまう手法が使えるかもしれません。というわけでメモ。 (名無しさん 2005-03-26 03:07:34 +00:00)
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor>)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end></p><blockquote><pre class="CSS example code">html{behavior:expression(function(element){
 // do something
 // trash this expression
 runtimeStyle.behavior = &quot;none&quot;;
}(this))}</pre></blockquote><p>(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor>)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Windows XP</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SP</anchor> 2 で <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WinIE</anchor>
に意味があるのかないのかよくわからない変な安全対策が入ったのは有名な話です。
Local file を開いた時に中にスクリプトが含まれていれば、ブラウザ上部に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">情報バー</anchor>とやらが出てきて、そこからスクリプトを実行することを選べば、従来通り (その文書をその時に限って) 実行します・・・とされています。</p><p><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CSS</anchor> 内の <code class="CSS"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">expression</anchor>()</code>
と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTC</anchor> も影響を受けます。
<code class="CSS">expression</code> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">情報バー</anchor>から指示すればちゃんと評価されるようですが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTC</anchor> はなぜか動きません。
というのは <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML文書</anchor>の話で、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML文書</anchor>だと<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">情報バー</anchor>が再度表示されて、
<code class="CSS"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">expression</anchor></code> や
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTC</anchor> はまったく実行されません。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2005-04-23 05:40:56 +00:00</weak>)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end>
回避策は2つあります。1つは <code class="HTML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">saved from url</anchor></code> という呪文を書く方法。もう1つは <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MHT</anchor>
を使う方法。実は更にもう1つ、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTA</anchor>
を使う方法もあります。
最初の2つの方法は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">注釈宣言</anchor>や
<code class="MIME"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Content-Location</anchor></code> を使って適当な <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URI参照</anchor>を指定して、 local file でも<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インターネット ゾーン</anchor> (など) 
として処理させます。</p><p>ただし <code class="HTML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">saved from url</anchor></code>
は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML文書</anchor>には使えません
<weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">(MS は SP2 から使えるようにしたと言っていますが、実際には機能しないようです)</weak>。</p><p><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MHT</anchor> ではなぜか <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTC</anchor> が動きません
<weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">(<code xmlns="http://www.w3.org/1999/xhtml" class="CSS"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">expression</anchor></code> は動きます)</weak>。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MHT</anchor> 内では <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CSS</anchor> の処理がおかしいような気がしますが、詳しい症状や再現条件はよくわかりません。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MHT</anchor> の
<code class="MIME"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">multipart/related</anchor></code>
の <code class="MIME"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">type</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">根部分</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">媒体型</anchor>は
<code class="MIME"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">text/html</anchor></code> でなければなりません。
実際には <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML文書</anchor>でも、 
<code class="MIME"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">text/html</anchor></code> にします
<weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">(それが MS クオリティ)</weak>。</p><p><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTA</anchor> は安全上の制限が全然無いようですが、
本当に <code class="CSS"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">expression</anchor></code> や
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTC</anchor> が完全に動くのかは未確認です。
それ以前に名前通り <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML文書</anchor>しか使えないので、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML文書</anchor>のスクリプトの問題の解決にはなりません。
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">meta</anchor></code> <code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Refresh</anchor></code>
を使って <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML文書</anchor>を開かせると、
<code class="MIME"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">text/plain</anchor></code> として扱うようです。
(ちなみに <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">a</anchor></code> や
<code class="JS"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">location</anchor>.<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">href</anchor></code>
を使うと別の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WinIE</anchor> の窓が開きます
<weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">(もちろん安全関係は通常の <anchor>WinIE</anchor> 通り)</weak>。
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">iframe</anchor></code> を使うとその中身は通常の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WinIE</anchor>
通りになってしまいます
<weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">(つまり安全上の制限がある)</weak>。
<weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">(<code xmlns="http://www.w3.org/1999/xhtml" class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">iframe</anchor></code> 内には<anchor>情報バー</anchor>が出ません。だから安全上の制限が掛かるとまったく解除できません。)</weak>)</p><p>(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2005-04-23 06:41:12 +00:00</weak>)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end>
<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;6</anchor-internal> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MHT</anchor> + <code class="CSS"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">expression</anchor></code>
でも、 removable disk drive にあるファイルだと例の安全制限で開けません。
(許可するとしても再び安全制限〜が出てくるパターン。)
単純に local disk drive に複製してそっちを開けば回避できます。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2005-05-03 02:55:57 +00:00</weak>)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end>
<cite>expression() のまとめ</cite> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://useyan.x0.com/s/html/expression/">http://useyan.x0.com/s/html/expression/</anchor-external>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor>)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end>
<code class="CSS">expression</code> 内では丸括弧の対応がとれていることと、
逆斜線 (<code class="char">\</code>) が最初に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CSS</anchor> として解釈された後に
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JavaScript</anchor> として解釈されることに注意が必要です。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor>)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end>
<cite>[openmya:035806] IE における &quot;expression&quot; の過剰検出による XSS の 誘因</cite> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://archive.openmya.devnull.jp/2006.08/msg00369.html">http://archive.openmya.devnull.jp/2006.08/msg00369.html</anchor-external>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2006-09-08 12:02:58 +00:00</weak>)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end>
<cite>hoshikuzu | star_dust の書斎</cite> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://d.hatena.ne.jp/hoshikuzu/20061104#p1">http://d.hatena.ne.jp/hoshikuzu/20061104#p1</anchor-external>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2006-11-05 23:45:37 +00:00</weak>)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end>
<cite>IE expressions ignore CSS media types | 456 Berea Street</cite> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.456bereastreet.com/archive/200611/ie_expressions_ignore_css_media_types/">http://www.456bereastreet.com/archive/200611/ie_expressions_ignore_css_media_types/</anchor-external>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2006-11-30 00:16:23 +00:00</weak>)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end>
<cite>IE expressions ignore CSS media types | 456 Berea Street</cite> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.456bereastreet.com/archive/200611/ie_expressions_ignore_css_media_types/">http://www.456bereastreet.com/archive/200611/ie_expressions_ignore_css_media_types/</anchor-external>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2006-11-30 00:16:40 +00:00</weak>)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end>
<cite xml:lang="en">CSS Expression Optimization (WebFX)</cite> (<code>2003-04-28 00:56:47 +09:00</code> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://webfx.eae.net/dhtml/cssexpr/cssexpr.html">http://webfx.eae.net/dhtml/cssexpr/cssexpr.html</anchor-external>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2007-02-22 23:34:04 +00:00</weak>)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end>
<code class="CSS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">expression</anchor>()</code> を使った場合の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WinIE 7</anchor> における <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CSSOM</anchor> 上の表現はなんか変です。</p><ul><li><code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CSSStyleDeclaration</anchor></code> に現れる値は、
<code class="CSS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">expression</anchor>()</code> が使われている<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">宣言</anchor>が存在しないとした場合のものになります。<ul><li>例の場合、 <code class="CSS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">red</anchor></code></li></ul></li><li><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">cssText</anchor></code> に現れる値は、<ul><li>他に <code class="CSS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">expression</anchor>()</code> が使われていない<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">妥当</anchor>な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">宣言</anchor>が存在する場合、
<code class="CSS" xml:lang="en"><var>PROP-NAME</var>: <var>NO-EXPRESSION-VALUE</var>; ; <var>PROP-NAME</var>: expression(<var>...</var>)</code>
となります。<ul><li><code class="CSS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">expression</anchor>()</code> を使った<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">宣言</anchor>が複数ある場合、最後のものになります。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">レンダリング</anchor>時に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">評価</anchor>されるのも最後のものだけです。最後のものがエラーになるか、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">特性</anchor>に関して<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">妥当</anchor>な値にならない場合には、 <code class="CSS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">expression</anchor>()</code>
を使わない値があればそれで<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">レンダリング</anchor>されます。)</li></ul></li><li>他に <code class="CSS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">expression</anchor>()</code> が使われていない<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">妥当</anchor>な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">宣言</anchor>が存在しない場合、
何もなくなります。</li></ul></li></ul><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://suika.suikawiki.org/gate/2007/cssom/viewer.en.html?c=p%20%7B%0D%0A%20%20background-color%3Awhite%3B%0D%0A%20%20color%3Aexpression('green')%3B%0D%0A%20%20color%3Aexpression('yellow')%3B%0D%0A%20%20color%3Ared%3B%0D%0A%7D;h=%3Cp%3Exxxx;p=n;x=style-element;i=html-div">http://suika.suikawiki.org/gate/2007/cssom/viewer.en.html?c=p%20%7B%0D%0A%20%20background-color%3Awhite%3B%0D%0A%20%20color%3Aexpression('green')%3B%0D%0A%20%20color%3Aexpression('yellow')%3B%0D%0A%20%20color%3Ared%3B%0D%0A%7D;h=%3Cp%3Exxxx;p=n;x=style-element;i=html-div</anchor-external></comment-p><p>(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor>)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end>
<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal> のように <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">runtimeStyle</anchor></code> で上書きできるということは、
<code class="CSS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">expression</anchor>()</code> の評価値は <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">runtimeStyle</anchor></code>
に入っているのかなあと思って確かめてみましたが、違いました。 (よく考えると、
もしそうだったら次に <code class="CSS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">expression</anchor>()</code> が評価された結果の
<code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">runtimeStyle</anchor></code> と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スクリプト</anchor>から直接指定された
<code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">runtimeStyle</anchor></code> の区別が必要になって面倒ですね。)
<code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">currentStyle</anchor></code> は <code class="CSS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">expression</anchor>()</code> の評価結果になっているみたいです。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> 
<cite>IE の innerHTML や appendChild で要素が挿入された瞬間を取得する方法 - IT戦記</cite> (<time>2008-12-13 09:47:33 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://d.hatena.ne.jp/amachang/20080530/1212120953">http://d.hatena.ne.jp/amachang/20080530/1212120953</anchor-external></p><p><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">変異事象</anchor>の代わりに使う。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> <cite>CSSセレクタの開発から得られたノウハウのフィードバック + IE8でメソッドをフックする(HTMLElementプロトタイピング) - uupaaの開発日記</cite> (<time>2008-12-27 13:41:45 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://d.hatena.ne.jp/uupaa/20081129/1227951320">http://d.hatena.ne.jp/uupaa/20081129/1227951320</anchor-external></p><blockquote><p>ところが、テキストを選択 + 選択範囲をドラッグすると、マウスが1px動くたびに DOMAttrModified が際限なく呼ばれてしまいます。</p><p>どうやらIEでは見えないノードが自動で追加され、何らかの属性値がマウスの動きにあわせて改変され続けるようです。</p></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end> <cite>setExpression と removeExpression について調べ物 - latest log</cite> (<time>2009-02-23 20:53:41 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://d.hatena.ne.jp/uupaa/20090223/1235327839">http://d.hatena.ne.jp/uupaa/20090223/1235327839</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</anchor-end> <code class="CSS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">expression</anchor></code> 内で変数に代入すると、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CSS</anchor> の外側から <code class="JS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">window</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オブジェクト</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">特性</anchor>として (つまり<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大域変数</anchor>として)
アクセスできます。ということは <code class="CSS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">expression</anchor></code> 内での
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">scope</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オブジェクト</anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大域オブジェクト</anchor>であって、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書</anchor>全体と共通の
<code class="JS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">window</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オブジェクト</anchor>であると推測されるわけですが (実際
<code class="JS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">alert</anchor></code> とかもあるし)、 <code class="CSS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">expression</anchor></code>
内で <code class="JS" xml:lang="en">b = this</code> のようにしてそれを <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CSS</anchor>
の外から取ろうとしても、なぜか <code class="JS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">undefined</anchor></code>
になっています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[22]</anchor-end> <cite xml:lang="EN-US">Dynamic Properties</cite>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">InetSDK</anchor>, <time>2024-08-17T03:56:01.000Z</time>, <time>2000-12-08T19:38:14.524Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://web.archive.org/web/20001208193800/http://msdn.microsoft.com/workshop/Author/dhtml/overview/recalc.asp">https://web.archive.org/web/20001208193800/http://msdn.microsoft.com/workshop/Author/dhtml/overview/recalc.asp</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[23]</anchor-end> 
<cite xml:lang="EN-US">Web Workshop - Be More Dynamic</cite>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Michael Wallent</anchor>, <time>2024-08-17T06:22:47.000Z</time>, <time>2000-10-31T06:30:42.377Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://web.archive.org/web/20001031062055/http://msdn.microsoft.com/workshop/Author/dhtml/dude061198.asp">https://web.archive.org/web/20001031062055/http://msdn.microsoft.com/workshop/Author/dhtml/dude061198.asp</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[24]</anchor-end> 
<cite xml:lang="EN-US">Dynamic Properties</cite>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">InetSDK</anchor>, <time>2024-08-17T06:28:14.000Z</time>, <time>2000-11-09T16:36:35.038Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://web.archive.org/web/20001109163100/http://msdn.microsoft.com/workshop/Author/dhtml/overview/recalc.asp">https://web.archive.org/web/20001109163100/http://msdn.microsoft.com/workshop/Author/dhtml/overview/recalc.asp</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[25]</anchor-end> 関連: <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スクリプトマクロ</anchor></p></body></html>