読者です 読者をやめる 読者になる 読者になる
無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

document.designModeで文書を編集可にする

designModeを'on'にするとiframe内の文書を編集できるようになります。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"  xml:lang="ja" lang="ja">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  </head>
  <script>
    function setEditable( editable ) {

      // designModeをonにすると編集ができるようになる。
      var iframe = document.getElementById("iframe")
      iframe.contentDocument.designMode= editable ? 'on' : 'off'
        
      document.getElementById("true").style.display = editable ? "none" : "block";
      document.getElementById("false").style.display = !editable ? "none" : "block";
    }
    function onLoad(){
      setEditable(true);
    }
  </script>
  <body onload="onLoad();">
      <iframe id="iframe"  src="./content.html" ></iframe>
      <div>
        <a id="true"  href="javascript:setEditable(true)">編集可にする</a>
        <a id="false"  href="javascript:setEditable(false)">編集不可にする</a>
      </div>
  </body>
</html>

サンプルはこちら

CodePressも内部的にこれを利用して編集画面を作成しているようです。キーイベントのハンドリング部分がなんか短いなと思ったら、こんな機能があったのか。ふむ。