Открытие вкладок браузера в том же окне в QWebEngineView. Реферер не отправлен. Как настроить? - PullRequest
0 голосов
/ 21 апреля 2019

При нажатии на любой сайт при нажатии на ссылку с target = "_ blank" ... В программе страница открывается в том же окне, но счетчики Google Analytics видят, что такой переход некорректен без реферера. Это похоже на прямой подход. Протестировано также и с их сайтами. Если в обычном браузере я иду с target = "_ blank", то на реферере виден переход и отображается сайт, с которого был переход. Если я перейду из программы с кодом, показанным здесь, это будет прямой подход. Помогите понять. Спасибо!

class WebEnginePage(QWebEnginePage):

    def createWindow(self, _type):
        page = WebEnginePage(self)
        page.urlChanged.connect(self.on_url_changed)
        return page

    @pyqtSlot(QUrl)
    def on_url_changed(self, url):
        page = self.sender()
        self.setUrl(url)
        page.deleteLater()

class MainWindow(QMainWindow):
    def __init__(self, *args, **kwargs):
        super(MainWindow, self).__init__(*args, **kwargs)
        self.browser = QWebEngineView()
        page = WebEnginePage(self.browser)
        self.browser.setPage(page)
        self.browser.setUrl(QUrl("http://google.com"))
        self.browser.urlChanged.connect(self.update_urlbar)
        self.browser.loadFinished.connect(self.update_title)
        self.setCentralWidget(self.browser)
    def update_title(self):
        title = self.browser.page().title()
        self.setWindowTitle("%s - prog" % title)
    def update_urlbar(self, q):
        self.urlbar.setText(q.toString())
        self.urlbar.setCursorPosition(0)
...