2017-02-28 8 views
0

私はWebEngineView QML Typeを使用して、新しいタブで開く必要のあるリンクを持つWebページを表示します。リンクは、私は外部ブラウザでnewViewRequested signalのURLを開きたいnewViewRequestedシグナルが送信されたときに外部ブラウザでURLを開く

<a href="http://google.com" target="_blank">Go to google in new tab</a> 

のような代ですが、WebEngineNewViewRequestは私がQt.openUrlExternally(request.url)で使用できるNO「URL」プロパティを持っていません。

WebEngineNewViewRequestにはqmlのプロパティとしてアクセスできないプライベートメンバーQUrl m_requestedUrlがあります。 問題を処理し、URLを取得して外部のブラウザで開くにはどうすればよいですか。おかげさまで Qt5で

答えて

0

、あなたはこれを達成するためにnavigationRequested信号を使用することができます。

onNavigationRequested: function(request) { 
    if (request.navigationType === WebEngineNavigationRequest.LinkClickedNavigation) { 
     Qt.openUrlExternally(request.url) 
    } 
    request.action = WebEngineNavigationRequest.IgnoreRequest 
} 

actionプロパティにIgnoreRequestを割り当てるラインはURLがWebEngineViewで開かれていないことを確認することです。

関連する問題