|
|
|
Кроссбраузерная заморочка с 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 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=36439576&tid=1453595]: |
0ms |
get settings: |
6ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
163ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
86ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 494ms |

| 0 / 0 |
