|
|
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
Всем мое почтение и благодарность авансом. Пишу JS, который загружает XML из файла, расположенного на сервере. На ИЭ всё работает. При попытке приспособить программу к другим браузерам... В общем, вы понимаете. 1. Пишу: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Это работает в ИЭ и даже в Опере. В ФФ на последней строке получаю ошибку: xml.selectSingleNode is not a function 2. Пишу (на случай если юзер запускает тот же скрипт на собственном диске без http): Код: plaintext Работает только в ИЭ. В Опере и ФФ получаю ошибки разного текста, но с одинаковым смыслом - что слово ActiveXObject не понято. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2010, 19:15 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
Владимир Саныч, Саныч, с активеХ работает только один ИЕ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2010, 19:36 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
Владимир Саныч, Пардон, сморозил неглядя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2010, 19:38 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2010, 20:45 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
Яростный Меч http://www.sql.ru/forum/actualthread.aspx?tid=347207 Спасибо, но пока слабо понятно. Прошел по ссылке . Вместо xml.selectSingleNode("//all/"+s) написал так: document.evaluate("//all/"+s,xml,null,XPathResult.ANY_TYPE,null) Получил DOMException без конкретизации. Я и сам понимаю, что написал плохо, но по-другому пока не умею. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2010, 23:47 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
Попробовал через getElementsByTagName. Например: xml.getElementsByTagName("all").getElementsByTagName(s) xml.getElementsByTagName("all").item(s) xml.getElementsByTagName("all")(0).getElementsByTagName(s)(0) Однако здесь тоже правильного варианта пока не нащупал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2010, 00:22 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
Владимир Санычdocument.evaluate("//all/"+s,xml,null,XPathResult.ANY_TYPE,null) Исправил ошибку: document.evaluate("//all/"+s,xml,xml.documentElement,XPathResult.ANY_TYPE,null) Лучше не стало. Есть еще что-то, что я не умею исправить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2010, 16:41 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
Владимир СанычПопробовал через getElementsByTagName. Например: xml.getElementsByTagName("all").getElementsByTagName(s) xml.getElementsByTagName("all").item(s) xml.getElementsByTagName("all")(0).getElementsByTagName(s)(0) Однако здесь тоже правильного варианта пока не нащупал. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2010, 11:29 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
Вот, набросал пример для currency.xml Код: 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. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2010, 15:43 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
Спасибо, вечером проверю дома. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2010, 16:04 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
%% Код: plaintext Да, здесь я со скобками мог бы и сам сообразить. Работает! Иду проверять дальше... Слушай, я у себя на сайте тебе благодарность поставлю. Там есть мемориальная доска, и это непорядок, что ты не там. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2010, 22:53 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
%% Load an XML File - A Cross browser Example А... А почему в кроссбраузерном примере по-прежнему ActiveXObject? На мой первый вопрос ответ получен, оно работает. Второй вопрос, увы, пока остался... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2010, 23:09 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
Уточню вопрос. В моем коде есть три вот таких куска: Код: plaintext Код: plaintext 1. 2. 3. 4. 5. 6. 7. Код: plaintext 1. 2. 3. Во втором и третьем кусках есть иф, который, как я понимаю, если мы не в ИЭ, дает true и обходит обращение к ActiveXObject. А вот в первом куске такого ифа нет, и как это обойти - пока непонятно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2010, 23:16 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
Владимир Саныч, Как вариант, вообще-то я так именно поступаю, на сервере конвертировать XML->JSON. В яваскрипте работать с JSON. Если надо конвертировать или на клиенте или на сервере JSON->XML. ПС. В гугле конвертилок - как грязи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2010, 23:17 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
Да нет, с XMLем уже нет проблем, проверено. Осталась только проблема с чтением файла с диска без http. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2010, 23:29 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
Владимир СанычА почему в кроссбраузерном примере по-прежнему ActiveXObject? Потому что IE6 до сих пор жив и все так же невменяем. Владимир Саныч Второй вопрос это - Владимир Саныч В Опере и ФФ получаю ошибки разного текста, но с одинаковым смыслом - что слово ActiveXObject не понято ? Так ответ был дан - только IE поддерживает ActiveX. Встречный вопрос - если "юзер запускает тот же скрипт на собственном диске без http" и у него операционная система отличная от windows? Если же в расчет принимается только windows, то для локального запуска скрипта можно сделать HTA - и давать его скачать желающим. IE в windows неистребим (почти). авторСлушай, я у себя на сайте тебе благодарность поставлю. Там есть мемориальная доска, и это непорядок, что ты не там. Убёг фотографироваться на памятник себе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2010, 23:43 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
%%Так ответ был дан - только IE поддерживает ActiveX. Чьёрт побьяри (С). Я думал, что мой вопрос понятен. Уточню: я хочу узнать, как добиться, чтобы оно работало. %%Встречный вопрос - если "юзер запускает тот же скрипт на собственном диске без http" и у него операционная система отличная от windows? Мне нравится этот вопрос. А ответ на него есть? %%Если же в расчет принимается только windows, то для локального запуска скрипта можно сделать HTA - и давать его скачать желающим. И чем это поможет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2010, 00:03 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
Владимир СанычЧьёрт побьяри (С). Я думал, что мой вопрос понятен. Уточню: я хочу узнать, как добиться, чтобы оно работало. Да никак, Чьёрт побьяри (С)(С)! вэб-приложение должно работать с файлами на сервре. С локальными файлами должно работать локальное приложение. ActiveX (закрытая устаревшая технология разработанная и поддерживаемая только микрософтом) - забыть как страшный сон - он существует for backward compatibility only - и как огромная дыра в системе безопасности. Владимир СанычМне нравится этот вопрос. А ответ на него есть? Есть. Написать локальное кроссплатформенное приложение. Могу предложить python как средство разработки. Владимир СанычИ чем это поможет? Берем твой чудо-скрипт (в надлежащем html-css обрамлении), добавляем в заголовок HTA:Application, сохраняем c расширением hta, выкладываем на сервер, на сайте ставим кнопочку "скачать локальную версию" - получаем - "юзер запускает тот же скрипт на собственном диске без http" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2010, 00:55 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
%%...добавляем в заголовок HTA:Application, сохраняем c расширением hta, выкладываем на сервер, на сайте ставим кнопочку "скачать локальную версию" - получаем - "юзер запускает тот же скрипт на собственном диске без http" ИЕ онли, опять же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2010, 01:02 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
Разумеется. Это уточнение было в предыдущем посте: яЕсли же в расчет принимается только windows, то для локального запуска скрипта можно сделать HTA - и давать его скачать желающим. IE в windows неистребим (почти). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2010, 01:34 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
%%Могу предложить python как средство разработки. Да я бы и на VB написал. Но ведь потом начнутся вопросы, как его вызвать. %%Владимир СанычИ чем это поможет? Берем твой чудо-скрипт... Я имел в виду, чем поможет с моим нерешенным вопросом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2010, 08:47 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
VB - это не кроссплатформенно. Под windows у тебя и так есть нормальное решение - HTA с тем же скриптом внутри. Владимир СанычЯ имел в виду, чем поможет с моим нерешенным вопросом. Тем, что решит этот самый вопрос - используя твой скрипт юзер сможет работать локально с локальными файлами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2010, 10:18 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
Под Windows в ИЭ у меня и так работает! Мне не надо, чтобы работало там же еще раз. Мне надо, чтобы работало НЕ в ИЭ (и, если возможно, не под Windows). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2010, 11:19 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
Владимир СанычПод Windows в ИЭ у меня и так работает! А у меня - нет. И не будет. И у любого нормального пользователя - не будет. Разрешать, чтоб скрипты запущеные в браузере, имели доступ к локальной файловой системе - это самоубийство. Уж лучше сразу - кувалдой по компику. Мне надо, чтобы работало НЕ в ИЭ (и, если возможно, не под Windows) К счастью - это невозможно. Но если, например, найдешь способ сделать это из Chrome - Google заплатит тебе 1337$ - http://www.computerworld.com/s/article/9150011/Google_to_pay_bounties_for_Chrome_browser_bugs Кстати, про IE6 (с уходом в небытие коего, уйдет и ActiveX - по крайней мере из web) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2010, 11:35 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
Хорошо, тогда раскрою карты чуть шире. Вот о чем речь: http://hamelamed.narod.ru/builder.htm Там куча данных такого вида: <input type=hidden id=b3 value='נִקְטָל' comment='nee 3a' value_ewy='נָקוֹל' value_ee='נָקַל'> Я сейчас готовлю новую версию, размер файла разрастается. И мне хочется вынести эти данные отсюда, чтобы был отдельно HTML и отдельно XML. Может быть, есть какие-то другие способы читать этот XML? Например, сослаться на него в каком-нибудь iframe'е и обращаться к нему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2010, 11:43 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
Владимир Саныччтобы был отдельно HTML и отдельно XML.Т.е. XML вручную набивается? Тогда используй JSON вместо XML, и никаких заморочек на клиенте. JSON не менее нагляден, более компактен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2010, 11:49 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
Понял, спасибо большое. Буду разбираться, кто такой JSON. Видимо, не сегодня. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2010, 11:56 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
Владимир СанычПонял, спасибо большое. Буду разбираться, кто такой JSON. Видимо, не сегодня. А я же говорил. Просто и кроссбраузерно и кроссплатформенно. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2010, 12:03 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
Увы, владения этой информацией недостаточно, чтобы что-то создать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2010, 12:12 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
Владимир СанычУвы, владения этой информацией недостаточно, чтобы что-то создать. JSON - самое простое, что есть в программизме вообще :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2010, 12:15 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
Это оптимизирует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2010, 12:29 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
Почитал про JSON. Понял, что это формат, которым можно пользоваться вместо XML. Но у меня-то нет проблемы с XML, у меня проблема с чтением файла! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2010, 12:37 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
Если использовать jquery .serializeArray() - то совсем просто. Но придется цеплять jquery.js. Если не использовать - то придется писать цикл по всем элементам. Работать с данными из json точно будет намного проще и удобнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2010, 12:52 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
Владимир Санычу меня проблема с чтением файла! Саныч, объясни мне, дураку, на пальцах - как ты это себе представляешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2010, 12:54 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
%%Саныч, объясни мне, дураку, на пальцах - как ты это себе представляешь? Дурака не вижу. Объясню тому, кто есть. Представляю так, как написано в приведенном скрипте. В ИЭ работает. Хочу, чтобы работало где угодно. Готов у себя в коде что-нибудь изменить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2010, 13:10 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
Владимир Саныч2. Пишу (на случай если юзер запускает тот же скрипт на собственном диске без http): Код: plaintext Работает только в ИЭ. В Опере и ФФ получаю ошибки разного текста, но с одинаковым смыслом - что слово ActiveXObject не понято.Не сразу заметил. Сделать отдельный .js, его подключать стандартно (<script ...>), в нем Код: plaintext 1. 2. 3. И всё! Даже eval не понадобится, в переменной myData уже будет вся структура. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2010, 13:16 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
Ага!!! Кажется, понял. Премного благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2010, 13:19 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
Всё оказалось просто, как всё гениальное. Запихал свой XML в один стринг. В ИЭ работает. В ФФ и Опере проверю вечером, но не вижу причин, чтобы не работало. Много-много спасибо всем! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2010, 13:38 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
ё... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2010, 13:49 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
Владимир Саныч, Вот ведь какая фигня. Ты же не написал, что тебе надо таки. Наверное, советы были бы поконструктивнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2010, 13:57 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
ShSergeВладимир Саныч, Вот ведь какая фигня. Ты же не написал, что тебе надо таки. Наверное, советы были бы поконструктивнее.Я так понял, там куча данных, которые сейчас зашиты на странице в хидденахъ, а хотелось бы компактно и наглядно в отдельном файлике ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2010, 14:01 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
Яростный МечЯ так понял, там куча данных, которые сейчас зашиты на странице в хидденахъ, а хотелось бы компактно и наглядно в отдельном файлике Именно так. Вот, значит я всё-таки понятно объяснил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2010, 14:43 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
%%ё... Дык! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2010, 14:43 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
Эт я над собою. Ибо, что предполагалось делать с помощью fso - я так и не понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2010, 14:58 |
|
||
|
Кроссбраузерная заморочка с XML
|
|||
|---|---|---|---|
|
#18+
Файл читать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2010, 14:59 |
|
||
|
|

start [/forum/topic.php?all=1&fid=22&tid=1453595]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
159ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 461ms |

| 0 / 0 |
