Russian Qt Forum
Ноябрь 22, 2024, 17:26 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Как передать обект между двума страничками?  (Прочитано 13889 раз)
Ubuntu_linux
Гость
« : Июль 07, 2012, 14:13 »

Есть одна страничка на которой  загружается большой xml файл (1-7МБ) и отображаю на страничке некоторую инфу, Но мне надо открить новую страничку на которой будет более детальная инфа с хмл. Так как мне передать хмл обєкт на другую страничку?
Записан
invasion
Гость
« Ответ #1 : Июль 13, 2012, 15:32 »

я бы попробовал static или файл как временный буфер, в зависимости от вашей реализации...
Записан
Ubuntu_linux
Гость
« Ответ #2 : Июль 13, 2012, 18:27 »

Ну реализация очень простая, вебкит отображает страничку в которой с помочу js  читаю хмл и частично отображаю нужную инфу на страничке, но потом кликаю по силке  и открываю новую страничку, где отображаю более детальную информацию с хмл. Сейчас я два раза открываю хмл, а как сделать что бы один?
Записан
fuCtor
Гость
« Ответ #3 : Июль 13, 2012, 20:17 »

Если читаете XML из сети, делаете частичное отображение, нужно ли вообще использовать Webkit? Может может реализовать на виджетах? Либо там сложное динамическое взаимодействие реализовано?
Записан
Ubuntu_linux
Гость
« Ответ #4 : Июль 13, 2012, 21:07 »

Если читаете XML из сети, делаете частичное отображение, нужно ли вообще использовать Webkit? Может может реализовать на виджетах? Либо там сложное динамическое взаимодействие реализовано?
хмл читается с диска (локально). Вебкит просто браузер, а основная логика на яваскрипт! хмл парсится в страничку.
Что значит "частичное отображение" ?
Записан
fuCtor
Гость
« Ответ #5 : Июль 14, 2012, 05:25 »

Ну реализация очень простая, вебкит отображает страничку в которой с помочу js  читаю хмл и частично отображаю нужную инфу на страничке, но потом кликаю по силке  и открываю новую страничку, где отображаю более детальную информацию с хмл. Сейчас я два раза открываю хмл, а как сделать что бы один?
Если перенести логику на Qt, то тогда можно сделать что-бы файл не перезагружался, а сразу переходить к нужным фрагментам и визуализировать их.
Записан
Ubuntu_linux
Гость
« Ответ #6 : Июль 14, 2012, 10:38 »

К сожелению так сделать нельзя, поетому исчу решения на js.
Записан
alexis031182
Гость
« Ответ #7 : Июль 14, 2012, 11:29 »

Решение возможно только для относительно небольшого куска данных. Если конечно не использовать посредника в виде http-сервера или локального файла на диске.

Первый вариант заключается во внедрении в ссылку (в тег "а") тела xml-документа. Очевидно, что это не самый лучший выход, да и серьёзно ограничен объёмом передаваемых данных.

Второй вариант предполагает "ручное" конструирование целевой страницы на javascript. Тогда xml-объект можно будет передать. Но далеко не всегда этот вариант подходит: "ручную" страницу нужно создавать с нуля. В случае, если последняя имеет довольно сложную структуру, это действо будет весьма не простое.

Другие варианты лично мне неизвестны.
Записан
Ubuntu_linux
Гость
« Ответ #8 : Июль 14, 2012, 12:37 »

хмл имеет размер более 1-7 Мб!
Поясните, пожалуйста, второй вариант?
Записан
alexis031182
Гость
« Ответ #9 : Июль 14, 2012, 13:07 »

Второй вариант заключается в создании окна/вкладки:
Код
Javascript
<form>
<input type="button" value="New Window!" onClick="window.open('index.htm', 'mywindow', 'width=400, height=200')">
</form>
 
Эту страницу придётся полностью реализовывать на js.
Записан
Ubuntu_linux
Гость
« Ответ #10 : Июль 14, 2012, 13:54 »

Я и так создаю страничку через JS.

Ок, и как передать объект в созданную страничку?
Записан
alexis031182
Гость
« Ответ #11 : Июль 14, 2012, 20:11 »

window.opener должен помочь.
Записан
fuCtor
Гость
« Ответ #12 : Июль 15, 2012, 10:22 »

Еще один вариант в голову пришел, все так же переложить часть логики на C++, но только той что занимается выделением нужной части XML файла. Сделать класс который будет выдавать по запросу нужные грагменты XML, прокинуть его в обе страницу и обращаться из JS.
Записан
Ubuntu_linux
Гость
« Ответ #13 : Июль 15, 2012, 10:33 »

Но тут опять вопрос, как прокинуть обэкт  с++ --> JS ?
Записан
Bepec
Гость
« Ответ #14 : Июль 15, 2012, 11:30 »

http://www.prog.org.ru/topic_20820_0.html

Тоже интересная, но довольно лёгкая темка Улыбающийся
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.057 секунд. Запросов: 21.