symfonyのJavascriptヘルパ+IEではまり
昨夜、とあるシステムのテストをしててIEでAjax部分が動かないとのことで対応することになったのですが。
自分でも試してみたところ、あるパーシャルを読み込んでいる画面でのみ「オブジェクトでサポートされていないプロパティまたはメソッドです」とエラーが。
結論から言うと、symfonyのJavascriptHelperでremote_functionを使っている部分があり、そこの先頭でprototype.jsを自動でロードするように設定してあるのですが、自前でもprototype.jsを使っており、そこでバッティングしていたのが原因でした。
とりあえず暫定的にロードしないようにしたヘルパを作成して対応。
<?php function remote_function_no_load_prototype($options) { use_helper('Javascript'); $script = remote_function($options); $js = sfConfig::get('sf_prototype_web_dir').'/js/prototype'; $ns = 'helper/asset/auto/javascript'; sfContext::getInstance()->getResponse()->getParameterHolder()->remove($js, $ns); return $script; }