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, работающего на этом ПК, на моей собственной странице хоста, не покидая его. Заранее благодарю за любую помощь!
Инструкции не очень ясны, считая, что они подтверждают, что можно загрузить веб-страницу в контейнере WT и отобразить ее на странице. Как использовать этот объект
Понял, проверьте обновление 2 в верхней части сообщения для ответа. – user2115945