使动态命名的iframe可编辑

Making a dynamically named iframe editable

本文关键字:iframe 编辑 动态      更新时间:2023-09-26

我正在尝试编写一个函数,使某个iFrame可编辑。我不确定自己哪里出了问题,如果能提供任何帮助,我将不胜感激。

我在这里发布了一个jsfiddle:

http://jsfiddle.net/edmozley/wt0pLxy0/2/

    <html>
  <body>
    <table>
      <tr>
        <td width="50%">
          <div id="div1" style="position:relative;border:1px solid black;">Div 1<br>
            <iframe name="div1_msg" id="div1_msg" style="border:3px solid green"></iframe>
          </div>
        </td>
        <td width="50%">
          <div id="div2" style="position:relative;border:1px solid black;">Div 2<br>
            <iframe name="div2_msg" id="div2_msg" style="border:3px solid red"></iframe>
          </div>
        </td>
    </table>
    <input type="button" value="Div 1 Editable" onclick="makeEditable('div1');">
    <input type="button" value="Div 2 Editable" onclick="makeEditable('div2');">
  </body>
  <script>
    function makeEditable(divName)
    {
    divName+'_msg'.document.designMode = 'On';
    }
  </script>
<html>

非常感谢

Ed

divName+'_msg'.document.designMode是无效的javascript,您不能连接字符串并以点表示法使用它们。

你会这么想的,用括号符号,访问具有给定名称的帧等等。

function makeEditable(divName) {
    window[divName + '_msg'].document.designMode = 'On';
}

FIDDLE