IEで無名関数をevalする
目的
PHPからJavascriptのコールバック関数を定義したい。
方法
var str = '<?php echo $this->fn ?>'; var fn = eval('false||' + str); fn('test'); // alert('test')が実行される
PHP側
$this->view->fn = 'function(e) {alert(e)}';
なんで動くかはわからない
以下のコードも動く。
var str = function(e) {alert(e)}; var fn = eval('false||' + str);