none
Не постится сайт через форму в IE 8 RRS feed

  • Вопрос

  • Здравствуйте! Возникла проблема с IE8: 

    имеется форма для отправки поста в ЖЖ (LiveJournal), вызываемая в виде javascript-ссылки. Она работает во всех основных  браузерах (современные версии FireFox, Chrome, Opera под Windows; под Mac OS - Safari) - но не работает в IE8.  Точнее, работает, если код размещен в php или html, но внутри шаблона Smarty (.tpl) работать в IE8 отказывается. В вылезающем окне формы выскакивает предупредительная надпись: "Internet Explorer изменил эту страницу для предотвращения запуска между скриптами..." - и отсылкой к справке, в которой рекомендуется, "если что не так", устранить ошибки на странице. Но браузер при загрузке страницы никаких ошибок не обнаруживает.

    Привожу код формы в html (работает и в IE8):

     

    <html>
    <script type="text/javascript">
    function alfacv(){
    var u='http://www.livejournal.com/',
    w=window.open('','','toolbar=0,resizable=1,scrollbars=1,status=1,left=150,top=150,width=730,height=800');
    if(window.LJ_bookmarklet){return LJ_bookmarklet(w,u)};
    var e=document.createElement('script');
    e.setAttribute('type','text/javascript');
    e.onload=function(){LJ_bookmarklet(w,u)};
    e.setAttribute('src',u+'js/bookmarklet.js');
    document.getElementsByTagName('head').item(0).appendChild(e);
    }
    
    </script>
    <br/><br/>
    
    <a href="javascript:alfacv();"><img height="19" src="http://www.moysite.ru/img/lj.gif" alt="Отправить в Livejournal" title="ЖЖ" /></a></html>
    

     

    Ниже - код формы внутри шаблона smarty (работает в других основных браузерах - в т.ч. Gecko, но не в IE8):   

     

    {literal}
    							<script type="text/javascript"> 
    							function alfacv(){
    var u='http://www.livejournal.com/',
    w=window.open('','','toolbar=0,resizable=1,scrollbars=1,status=1,left=150,top=150,width=730,height=800');
    if(window.LJ_bookmarklet){return LJ_bookmarklet(w,u)};
    var e=document.createElement('script');
    e.setAttribute('type','text/javascript');
    e.onload=function(){LJ_bookmarklet(w,u)};
    e.setAttribute('src',u+'js/bookmarklet.js');
    document.getElementsByTagName('head').item(0).appendChild(e);
    }
    							</script>
    {/literal}
    <img height="19" src="http://www.almrally.ru/img/lj.gif" alt="Отправить в Livejournal" title="ЖЖ" onclick="alfacv();"/>
    							

     

     

     

    25 ноября 2010 г. 11:06

Ответы

  • Т.к. в ie8 без smarty у вас все хорошо работает, то это не проблема ie8, а проблема smarty скорее всего. Попробуйте сначала весь javascript код написать в 

    <script type="text/javascript">
    /*<![CDATA[*/
    function alfacv(){
    var u='http://www.livejournal.com/',
    w=window.open('','','toolbar=0,resizable=1,scrollbars=1,status=1,left=150,top=150,width=730,height=800');
    if(window.LJ_bookmarklet){return LJ_bookmarklet(w,u)};
    var e=document.createElement('script');
    e.setAttribute('type','text/javascript');
    e.onload=function(){LJ_bookmarklet(w,u)};
    e.setAttribute('src',u+'js/bookmarklet.js');
    document.getElementsByTagName('head').item(0).appendChild(e);
    }
    /* ]]>*/
    </script>
    
    Если не получится - то пишите на формумы smarty


    Для связи [mail]
    26 ноября 2010 г. 9:21
    Модератор