2013-07-29 3 views
1

Update 3Может ли WT представлять веб-страницы как часть главной страницы?

user52875 также имеет очень хороший ответ, Can WT present web pages as part of the host page?, который использует HTML, и на самом деле намного проще, чем возиться с JS. +1 к вам хороший сэр.

Update 2

Фигурные его, работая код ниже. Вы должны использовать iframe в javascript для встраивания другой страницы в свой собственный. IP-адрес - это другой компьютер в локальной сети, на котором запущен сервер WT с некоторым контентом, я смог подключить и просмотреть содержимое сервера WT. Кроме того, по какой-то причине iframe не может подключиться к сайтам просмотра, таким как Google или Yahoo. Хотя я уверен, что здесь есть отдельный вопрос.

WText* text = new WText(root); 
string command = string("var ifr") + " = document.createElement('iframe');" + 
       //"ifr.src = 'http://javascript.info';" +   //Works 
       //"ifr.src = 'http://www.escapistmagazine.com';" +//Works 
       //"ifr.src = 'http://escapistmagazine.com';" + //Works 
       //"ifr.src = 'http://google.com';" +    //Doesn't work 
       //"ifr.src = 'http://www.google.com';" +   //Doesn't work 
       "ifr.src = 'http://12.3.45.678:8080/';" +   //Works 
       "ifr.width = 1500;" + 
       "ifr.height = 700;" + 
       "document.body.appendChild(ifr);"; 
text->doJavaScript(command); 

Update 1

Казалось бы, что это требует использования JS фреймов с объектами WT. Javascript не моя сильная сторона, но я сделал некоторое внедрение приложений, используя команду WT doJavaScript() (Embedding Ventus in WT и Using ACE with WT). Я буду обновлять пост дальше, если найду подходящий способ встраивания страницы в WT. Заранее благодарю за любую помощь.

WText* text = new WText(root); 
string command = ""; //TODO: Proper creation and use of JS iframe. 
text->doJavaScript(command); 

Оригинал Сообщение

Итак, я пытаюсь создать небольшое приложение WT, в котором у меня есть коллекция якорей, или текстовое поле и кнопка для ввода в и переключении страниц. Основная установка выглядит так:

WContainerWidget* root = wApp->root(); 

WAnchor* Google = new WAnchor("http://www.google.com/", "Google", root); 
root->addWidget(new Wt::WBreak()); 

WAnchor* Yahoo = new WAnchor("http://www.yahoo.com/", "Yahoo", root); 
root->addWidget(new Wt::WBreak()); 

Wt::WLineEdit* GotoBar = new Wt::WLineEdit(root); 
Wt::WPushButton* GotoButton = new Wt::WPushButton("Goto address", root); 

//TODO: Some kind of widget that will present the content of the anchors 
//  or the GotoBar 

Итак, что я пытаюсь сделать, это настоящее содержание на другую страницу, не покидая страницу хоста. Это возможно? Я читал документацию и просматривал галерею виджетов, но до сих пор не нашел ничего, что связано с внедрением удаленного контента на вашу собственную страницу. Моя долгосрочная цель - привязать якорь к IP-адресу другого ПК в той же сети и представить содержимое сервера WT, работающего на этом ПК, на моей собственной странице хоста, не покидая его. Заранее благодарю за любую помощь!

ответ

1

Существует аналогичный вопрос и его ответ здесь. Надеюсь, поможет.

http://www.mail-archive.com/[email protected]/msg01578.html

+0

Инструкции не очень ясны, считая, что они подтверждают, что можно загрузить веб-страницу в контейнере WT и отобразить ее на странице. Как использовать этот объект