powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / ajax, xslt
8 сообщений из 8, страница 1 из 1
ajax, xslt
    #34201735
NNika
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня такая проблема.
Асинхронно скачиваю xml-файл, затем накладываю шаблон xsl на него.
Если в xsl использовать javascript, то он не выполняется и выскакивает следующая ошибка:
Код: plaintext
1.
Предполагается наличие объекта
Так я асинхронно скачиваю:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Суточный отчет</title>
<script >

function onloadOWC(url, element_id, url_xsl )
	        { 
	         var objXML
	         
	          objXML = false;
	         
   	            if(window.XMLHttpRequest) 
		            {
		               objXML = new XMLHttpRequest();
		               
		                if (objXML.overrideMimeType ||objXML2.overrideMimeType) 
			                {
			                    objXML.overrideMimeType('text/xml');
                            }
	                 } 
	  	           else if (window.ActiveXObject)  // IE
			        { 
                      try 
                         {
                           objXML = new ActiveXObject("Microsoft.XMLHTTP");
                             var objXSLT = new ActiveXObject('Microsoft.XMLDOM');
                         }
                      catch (e) 
                         {
                           try {
                                 objXML = new ActiveXObject("Microsoft.XMLHTTP");
                                 var objXSLT = new ActiveXObject('Microsoft.XMLDOM');
                                }
                            catch (e) {}
                           }
                     }
			       if (!objXML) 
			         {
                       alert('Giving up :( Cannot create an XMLHTTP instance');
                       return false;
                     }
                    objXML.onreadystatechange = function()
                	  { 
		                if(objXML.readyState ==  4 )
			        	 {
			              if(objXML.status ==  200 )
			    	         {  
			    	           var objResTree=document.getElementById(element_id);
			    	           objXSLT.async=false;
			    	            objXSLT.load(url_xsl);
			    	            objResTree.innerHTML=objXML.responseXML.transformNode(objXSLT);
		    		         } 
			                 else	
				             {
				               alert( "Невозможно создать объект");
				             }	
			               }                                    
			       	  };                                     
                   objXML.open("GET", url, true); 
                   objXML.send(null);
        }              

Показывает, что ошибка на этой сроке
Код: plaintext
1.
objXML = false;

В чем проблема не понимаю
...
Рейтинг: 0 / 0
ajax, xslt
    #34201848
Фотография Damnedest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
точка с запятой на предыдущей строке не нужга?
...
Рейтинг: 0 / 0
ajax, xslt
    #34201883
NNika
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если поставить, то тоже ругается.
Ошибка возникает тогда, когда в файле xsl пытаюсь вызвать javascript'овую функцию.
Файл xsl выглядит так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:decimal-format decimal-separator="." grouping-separator=' ' />
  <xsl:output method="html"/>
  <xsl:template match="/">
    <html>
      <head>
        <script language="JavaScript">
         
	function expand()
		{
            alert("sssssss");
		}
        </script>
        <title>testxml</title>
        <link href="pogr.css" rel="stylesheet" media="screen" /> 
      </head>
      <body style="background-color:#316AC5">
        <table  width="100%" cellspacing="1">
          <tr>
            <td nowrap="yes">
              <xsl:apply-templates select="child::*"/>
            </td>
          </tr>
        </table>
        <a style="vertical-align:bottom;position: relative; bottom: 2; z-index: 1;cursor:hand;" onselectstart="return false">
          <xsl:attribute name="onclick">
          expand()
          </xsl:attribute>
          ffffffffffff</a>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>
Т.е когда я нажимаю на ссылку fffffffffffffffff возникает эта ошибка. А если вместо моей функции, вызвать, например alert(), то эта функция выполнится
...
Рейтинг: 0 / 0
ajax, xslt
    #34201908
LINUXER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NNika
Т.е когда я нажимаю на ссылку fffffffffffffffff возникает эта ошибка. А если вместо моей функции, вызвать, например alert(), то эта функция выполнится
браузер не знает о существовании скрипта
Скрипт будет интерпритироваться если использовать document.write()
или вручную с eval()
...
Рейтинг: 0 / 0
ajax, xslt
    #34202355
NNika
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если шаблон указать в самом xml-файле, у в браузере загрузить этот xml, то скрипт выполнится. Мне кажется, что эта проблема из-за того, что я асинхронно скачиваю этот файл, и указываю шаблон не в самом xml-файле, который лежит на сервере, а уже на скаченный xml-файл
...
Рейтинг: 0 / 0
ajax, xslt
    #34202544
LINUXER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NNikaЕсли шаблон указать в самом xml-файле, у в браузере загрузить этот xml, то скрипт выполнится.
Странно=). У меня была похожая проблема. Помог только отказ от innerHTML
NNikaМне кажется, что эта проблема из-за того, что я асинхронно скачиваю этот файл, и указываю шаблон не в самом xml-файле, который лежит на сервере, а уже на скаченный xml-файл

в чём же именно может быть проблема=)
Можно сравнить результаты преобразования в этих случаях. Думаю различия не обнаружатся
...
Рейтинг: 0 / 0
ajax, xslt
    #34202899
NNika
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LINUXER У меня была похожая проблема. Помог только отказ от innerHTML
А что вместо этого?
...
Рейтинг: 0 / 0
ajax, xslt
    #34204897
LINUXER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NNika LINUXER У меня была похожая проблема. Помог только отказ от innerHTML
А что вместо этого?
document.write() appendChild() eval()
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / ajax, xslt
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]