QWebPage、QWebView访问www.youtube.com
在网页上鼠标左键点击链接linkClickedurlChanged信号都没反应(特别是左边浏览视频,右边是列表链接,怎么点都没反应)。奇怪。。。。
QWebPage*page=newMyWebPage();
page->setLinkDelegationPolicy(QWebPage::DelegateAllLinks);
ui.webView->setPage(page);
connect(ui.webView,SIGNAL(linkClicked(constQUrl&)),this,SLOT(linkClickedSlot(constQUrl&)));
connect(ui.webView,SIGNAL(urlChanged(constQUrl&)),this,SLOT(UrlChangedSlot(constQUrl&)));
QStringstrUrl="www.youtube.com";
QUrlurl=QUrl::fromUserInput(strUrl);
ui.webView->load(url);
boolMyWebPage::acceptNavigationRequest(QWebFrame*frame,constQNetworkRequest&request,NavigationTypetype)
{
QStringstrUrl=request.url().toString();//当前页点击这个返回的是about::blank,但ctrl+鼠标左键,新打开一个网页是ok的
//此处省略按ctrl+鼠标左键newtab的代码
if(frame==mainFrame())
{
//这里进不去,非youtube外,在同一个页面打开是可以进这里的。
}
returnQWebPage::acceptNavigationRequest(frame,request,type);
}
发现youtube.com返回的frame完全不一样
分 -->
|