Как выполнить скрипт, заданный строкой?

Рейтинг: 0Ответов: 1Опубликовано: 06.02.2015

Возможно ли каким-либо образом при выдаче информации в блок id1 выдать информацию и в другой блок id2 через js-код в строке string1?

<html>
<head>
<script>
  var string2='string2';

  // var string1='<scri' +'pt>document. getElementById("id2").HTML=string2;</scri'+ 'pt>'; //  не работает
  var string1='document. getElementById("id2").innerHTML=string2';  // работает

function f() {
document.getElementById('id1').innerHTML=string1;
}
</script>
</head>
<body>
<div id="id1"> </div>
<div id="id2"> </div>
<input  type=button   value='Press'>
</body>
</html>

А вот такой вариант (только правильный) возможен?

 document.getElementById('id1').innerHTML='Содержимое для id1 <scri' +'pt>document. getElementById("id2").innerHTML="Содержимое для id2";</scri'+ 'pt>';

Т.е. одной командой при выдаче в id1 меняется и блок id1, и другой блок id2.

Ответы

▲ 2Принят

Через DOM:

function f() {
    var scr = document.createElement( "script" );
    scr.textContent = string1;
    documend.head.appendChild( scr );
};

Через eval:

function f() {
    eval( string1 );
};