Hello les gens !
Alors voilà, j'aimerai n’afficher qu'une partie d'un site web avec Qt WebEngine.
Du coup, j'ai eu l'idée d'utiliser un script JS qui applique un "display:none" aux éléments que je souhaite cacher.
Ca fonctionne bien, mais le soucis s'est le fonctionnement...la page s'affiche normalement, on la vois quelques seconde -> puis le script s'execute et cache les parties souhaitée. Se que j'aimerai, s'est que le site s'affiche dirrectement avec les parties cachées
Je suis obligé de faire une connection, car sinon, je tombe sur un about:blank et pas sur monsite.com:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 FenetrePrincipale::FenetrePrincipale(QWidget *parent) : QMainWindow(parent), ui(new Ui::FenetrePrincipale) { ui->setupUi(this); view = new QWebEngineView(this); view->load(QUrl("<a href="http://monsite.com" rel="nofollow">www.monsite.com</a>"; )); connect(view, SIGNAL(loadFinished(bool)), SLOT(javascript())); } void FenetrePrincipale::javascript() { QString code = "var classes = document.querySelectorAll('.LayoutWrap, .CurrentMenu-champion'); for(i = 0; i < classes.length; i++) { classes[i].style.display = 'none'; }"; view->page()->runJavaScript(code); }
Merci pour votre aide !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 view = new QWebEngineView(this); view->load(QUrl("<a href="http://monsite.com" rel="nofollow">www.monsite.com</a>"; )); QString code = "document.write(window.location.toString());"; view->page()->runJavaScript(code);
Partager