Javascript-форум (https://javascript.ru/forum/)
-   Opera, Safari и др. (https://javascript.ru/forum/css-html-browser/)
-   -   Проблема с конвертацией под Оперой 11.10 (https://javascript.ru/forum/css-html-browser/16706-problema-s-konvertaciejj-pod-operojj-11-10-a.html)

Crakean 18.04.2011 17:23

Проблема с конвертацией под Оперой 11.10
 
Есть код:
function onDocSent(XMLDoc)
			{
				if (!XMLDoc)
				{
					document.forms.postmodify.preview.onclick = new function ()
					{
						return true;
					}
					document.forms.postmodify.preview.click();
				}

				var prsr = new DOMParser();
				var doc = prsr.parseFromString(XMLDoc, "text/xml");
				XMLDoc = doc;				
				
				// Show the preview section.
				var i, preview = XMLDoc.getElementsByTagName("smf")[0].getElementsByTagName("preview")[0];
				setInnerHTML(document.getElementById("preview_subject"), preview.getElementsByTagName("subject")[0].firstChild.nodeValue);

				setInnerHTML(document.getElementById("preview_body"), bodyText);
				document.getElementById("preview_body").className = "post";

				// Show a list of errors (if any).
				var errors = XMLDoc.getElementsByTagName("smf")[0].getElementsByTagName("errors")[0];
				var numErrors = errors.getElementsByTagName("error").length, errorList = new Array();

....

XMLDoc до конвертации выглядит так(справедливо и для оперы и для фаерфокса):
http://img842.imageshack.us/i/unledua.jpg

Под Фаерфоксом 4ым данный код работает нормально.
Но под Оперой данный код выдает:
Uncaught exception: TypeError: Cannot convert 'XMLDoc.getElementsByTagName("smf")[0]' to object

Error thrown at line 84, column 4 in onDocSent(XMLDoc) in http://www.....ru/forum/index.php?ac...um_replies=75:
var i, preview = XMLDoc.getElementsByTagName("smf")[0].getElementsByTagName("preview")[0];
called from line 69, column 8 in <anonymous function: sendDoc.onreadystatechange>() in http://www.....ru/forum/Themes/default/script.js?fin11:
callback(sendDoc.responseText);

Не пойму как исправить проблему. Подскажите решение, кому не сложно.


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