Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   jquery распарсить xml выдрать html и вставить (https://javascript.ru/forum/css-html/17708-jquery-rasparsit-xml-vydrat-html-i-vstavit.html)

kukrinikson 30.05.2011 17:15

jquery распарсить xml выдрать html и вставить
 
данного вопроса, пришел к следующему, в php скрипте html данные предназначенные для вставки в страницу заворачиваю так:

Код:

$xml_content_header .= "<htmlTpl><![CDATA[".$quest['html_tpl']."]]></htmlTpl>";
В самом скрипте запрос отправляю так:

Код:

            $.post('{$get_html_link}',
                {
                    mgti_act: cmd,
                    sess_id: sess_id,
                    answer: answer,
                },
                onAjaxSuccess,
                (jQuery.browser.msie) ? "text" : "xml"
            );

Ответ разбираю так:

Код:

            var xml;
            var ReloadImage = true;
            if (typeof xmlData == 'string')
            {
                xml = new ActiveXObject('Microsoft.XMLDOM');
                xml.async = "false";
                xml.loadXML(xmlData);
            }
            else
            {
                xml = xmlData;
            }

            msgCode  = $("MsgCode", xml).text();

            var answerType  = $("AnswerType", xml).text();

            HtmlTpl = $("htmlTpl", xml).text();

            $('#html_div').empty().html(HtmlTpl); // добавляем на страницу

Все это Firefox и Opera хавает на ура. IE 8 частично.

Код:

<div style="border-top: 1px solid #936307; border-bottom: 1px solid #936307;">
    <div style="text-align: center; margin-top:5px;">
        <? $swf_prefix = strpos($_baseurl, 'localhost') ? "_local": ""; ?>
        <object id="videoplayer681" type="application/x-shockwave-flash" data="{$_baseurl}images/uppod{$swf_prefix}.swf" width="550" height="300">
            <param name="allowFullScreen" value="true">
            <param name="allowScriptAccess" value="always">
            <param name="wmode" value="transparent">
            <param name="movie" value="uppod{$swf_prefix}.swf">
            <param name="flashvars" value="comment=Фрагмент&amp;st={$_baseurl}images/video75-763.txt&amp;file={$_baseurl}{$q_video}">
        </object>
    </div>
</div>

Конструкции такого типа
Код:

<? $swf_prefix = strpos($_baseurl, 'localhost') ? "_local": ""; ?>
итоговом html имеют нормальные значения.

Конструкцию такого типа IE упорно не то что проигрывать, даже показывать сам плеер не хочет. С остальными HTMLками все нормально. С сервера все приходит нормально, парсится, вставляется тоже. Но почему IE не хочет проигрывать плеер не понятно, при том, что если код вставить просто так на страницу, то все путем. Проигрывает на ура.
Кто что может подсказать, как сделать так, что бы это работало и в IE?


Часовой пояс GMT +3, время: 07:38.