<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>qnote &#187; prototype.js</title>
	<atom:link href="http://www.qnote.co.jp/archives/tag/prototype-js/feed" rel="self" type="application/rss+xml" />
	<link>http://www.qnote.co.jp</link>
	<description>qnote [Professional Open Source Integrator]</description>
	<lastBuildDate>Mon, 28 Nov 2011 11:16:51 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.qnote.co.jp/archives/tag/prototype-js/feed" />
		<item>
		<title>【WordPressネタ】Flutter PluginがIE8で動かない件</title>
		<link>http://www.qnote.co.jp/archives/615</link>
		<comments>http://www.qnote.co.jp/archives/615#comments</comments>
		<pubDate>Thu, 10 Jun 2010 10:55:05 +0000</pubDate>
		<dc:creator>Nobuyuki Tsuruta</dc:creator>
				<category><![CDATA[社長ブログ]]></category>
		<category><![CDATA[flutter]]></category>
		<category><![CDATA[IE8]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[prototype.js]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.qnote.co.jp/?p=615</guid>
		<description><![CDATA[Internet Explorer 8  (以下 IE8 ）、いろいろと困ったチャンな動きをしてくれますね。
今回問題になったのは、WordPress の CMS プラグイン「 Flutter 」。

Flutterには Edit In Place ( EIP ) という機能があって、投稿の内容を「表」の画面から編集できます。
WordPressを会員サイト構築に使う場合、会員といえども管理画面は使わせたくない。
かといって、いちいち会員向けの編集画面を作るとなると、工数がかさんでしまう。
プラグインで一般会員の自由な記事編集が可能になれば、とても便利。
・・・というのが、 EIP の機能なわけですね。
この EIP 機能、IE8 では完全には動作しません。
マルチラインテキストの要素で編集が可能にならず、 prototype.js の 2216 行目でエラーになってしまいます。
これは、 editnplace.js で実行されている setStyle メソッドが、 IE8 に対応できていないせいです。
※参考
Prototype.js, setStyle, and IE not working together
解決方法は上記の参考サイトにありますが、 setStyle メソッド実行時に、ちょっと呼び出し方を変えるだけです。
こんな感じ。

var panel = $(this.panelID);
Element.setStyle(panel, {display: "", top:panel_top+"px",left:elementLeft+"px"});

editnplace.js 中、setStyle メソッドは4箇所ほどで実行されてます。
あまりちゃんと検証してませんが、動かない箇所をひとつずつ修正して潰していくと、とりあえずまともに動くようにはなってくれそうです。
]]></description>
			<content:encoded><![CDATA[<p>Internet Explorer 8  (以下 IE8 ）、いろいろと困ったチャンな動きをしてくれますね。</p>
<p>今回問題になったのは、WordPress の CMS プラグイン「 Flutter 」。<br />
<span id="more-615"></span><br />
Flutterには Edit In Place ( EIP ) という機能があって、投稿の内容を「表」の画面から編集できます。</p>
<p>WordPressを会員サイト構築に使う場合、会員といえども管理画面は使わせたくない。<br />
かといって、いちいち会員向けの編集画面を作るとなると、工数がかさんでしまう。<br />
プラグインで一般会員の自由な記事編集が可能になれば、とても便利。<br />
・・・というのが、 EIP の機能なわけですね。</p>
<p>この EIP 機能、IE8 では完全には動作しません。<br />
マルチラインテキストの要素で編集が可能にならず、 prototype.js の 2216 行目でエラーになってしまいます。<br />
これは、 editnplace.js で実行されている setStyle メソッドが、 IE8 に対応できていないせいです。</p>
<p>※参考<br />
<a href="http://www.nutt.net/2010/04/02/prototype-js-setstyle-and-ie-not-working-together/">Prototype.js, setStyle, and IE not working together</a></p>
<p>解決方法は上記の参考サイトにありますが、 setStyle メソッド実行時に、ちょっと呼び出し方を変えるだけです。<br />
こんな感じ。</p>
<pre class="brush:javascript">
var panel = $(this.panelID);
Element.setStyle(panel, {display: "", top:panel_top+"px",left:elementLeft+"px"});
</pre>
<p>editnplace.js 中、setStyle メソッドは4箇所ほどで実行されてます。</p>
<p>あまりちゃんと検証してませんが、動かない箇所をひとつずつ修正して潰していくと、とりあえずまともに動くようにはなってくれそうです。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.qnote.co.jp/archives/615/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.qnote.co.jp/archives/615" />
	</item>
	</channel>
</rss>

