问题是这样的,我用webKit编写一个马甲浏览器,一切都很顺利,问题却卡在了QWebView中打开链接问题上,一开始没有指定这个“ui->webView->page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks);”的时候,只能打开一些本窗口内链接,而那些要在新窗口中打开的链接无法打开;
后来,我就设置了“ui->webView->page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks);”,于是,页面中所有的链接都能打开了,但是,问题就更纠结了,因为,我无法判断那些“链接”是否需要在新窗口中打开,因为,有些只要在原来的窗口中打开就行,比如那些“下一页”的链接,而现在的状况是,虽然触发了“connect(ui->webView,SIGNAL(linkClicked(QUrl)),this,SLOT(slot_openLink(QUrl)));”中点击链接信号,但是,在这些信号无法判定该链接是需要在“原窗口打开链接”还是在“新窗口中打开链接”啊!
WebPage中有一个这样的函数:acceptNavigationRequest(),它会根据你点击的链接来判断,这个链接是在当前窗口打开,还是调用createWindow()在新窗口打开。
这个应该不需要自己判断吧。。。